This question already has answers here:
Identifying and solving javax.el.PropertyNotFoundException: Target Unreachable
(14个回答)
4年前关闭。
我正在NetBeans 7.0上使用JSF开发Web应用程序。我创建了2个页面:一个用于输入人员姓名,另一个用于显示该姓名。我正在使用带有get和set方法的Java bean。
当我在第一页上提交表单代码时出现错误。
这是我接受姓名的第一页
这是显示名称的另一页
这是托管bean
这是我提交拳头页面时遇到的错误:
/index.xhtml @ 10,86 value =“#{demoBean.name}”:无法到达目标,标识符为'demoBean'
解析为空
(14个回答)
4年前关闭。
我正在NetBeans 7.0上使用JSF开发Web应用程序。我创建了2个页面:一个用于输入人员姓名,另一个用于显示该姓名。我正在使用带有get和set方法的Java bean。
当我在第一页上提交表单代码时出现错误。
这是我接受姓名的第一页
index.xhtml
:<h:form>
Enter your Name : <h:inputText value="#{demoBean.name}" required="true"/>
<br/> <h:commandButton value="Submit" action="welcome.xhtml"/>
</h:form>
这是显示名称的另一页
welcome.xhtml
:<h:body>
Hello #{demoBean.name}
</h:body>
这是托管bean
demoBean.java
:import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean()
@SessionScoped
public class demoBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
这是我提交拳头页面时遇到的错误:
/index.xhtml @ 10,86 value =“#{demoBean.name}”:无法到达目标,标识符为'demoBean'
解析为空
最佳答案
JSP框架希望您的bean类名称符合Java命名约定,即为“ CamelCased”(例如DemoBean
),在这种情况下,它将假定JSP中将通过转换为Bean名称的第一个字符为小写(demoBean
)。
由于偏离了框架的期望,因此需要通过在@ManagedBean
批注中或在可选的faces-config.xml文件中进行指定,在JSP中指定引用bean的名称。
09-11 17:22