我正在使用3.0 M3。当我在faces-config.xml中声明我的托管bean时,它工作得很好,但是当我尝试使用相同的代码时 注释@Managed bean @Request Scoped,它表示目标UN-reachable。
我也试过2.2,但它再次说同样的问题。 我正在使用玻璃鱼v3
@ManagedBean
@SessionScoped
public class Profile implements Serializable{
private String userId;
private String password;
private int code;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
以下是我如何称呼他们
<h:form>
<p:panel style="margin-top: 200px;margin-left: 300px;margin-right: 300px;" header="Welcome">
<h:outputText value="Your Code ? "/>
<h:inputText required="true" requiredMessage="Enter user id" value="#{Profile.userId}"/>
<h:outputText value="Password "/>
<h:inputSecret required="true" requiredMessage="Enter password id" value="#Profile.password}"/>
<h:commandButton action="#{Profile.varify}" value="Next"/>
</p:panel>
</h:form>
答案 0 :(得分:2)
配置文件应为小写,并检查密码行上的语法
答案 1 :(得分:2)
如果不使用@ManagedBean批注的name属性,则必须引用第一个字母转换为小写的bean。
name()属性的值被认为是 托管bean名称。如果未指定name属性的值 或者是空字符串,托管bean名称来源于take 完全限定类名的非限定类名部分 并且将第一个字符转换为小写。例如,如果 ManagedBean批注位于具有完全限定类的类上 名为com.foo.Bean,注释上没有name属性, managed-bean-name被认为是bean。完全合格的班级 此注释所附加的类的名称将被视为 托管bean类。
答案 2 :(得分:0)
因为您使用的是jsf2
您可以执行以下操作 - 为bean命名...
@ManagedBean(name="Profile")
@SessionScoped
public class Profile implements Serializable{
}
答案 3 :(得分:0)
检查@SessionScoped的导入包,它必须是import javax.faces.bean.SessionScoped; 并且还给ManageBean @ManagedBean(name =“Profile”)
命名