Hibernate 无法达到的目标&x27;恩皮卡马';返回空值
我得到一个无法访问的错误目标。下面是我的xhtml文件和java文件Hibernate 无法达到的目标&x27;恩皮卡马';返回空值,hibernate,jsf-2,Hibernate,Jsf 2,我得到一个无法访问的错误目标。下面是我的xhtml文件和java文件 <h: inputText id = "iqamaType" value = "#{manageEmployee.empIqama.aqamaType}" styleClass = "input" required = "true" requiredMessage = "#{msg['iqamatype_msg']}" style = "font-weight:bold" /> 请检查以下内容:, 1) bean
<h: inputText id = "iqamaType"
value = "#{manageEmployee.empIqama.aqamaType}"
styleClass = "input"
required = "true"
requiredMessage = "#{msg['iqamatype_msg']}"
style = "font-weight:bold" />
请检查以下内容:, 1) bean manageEmployee已正确声明。通过注释(@ManagedBean)或使用faces-config.xml。 2) 确保对象empIqama不为null
如果这不能解决问题,请共享一些代码片段。JSF/EL不会设置/创建嵌套属性。鉴于这种结构
value="#{manageEmployee.empIqama.aqamaType}"
EL在封面下的基本功能是:
manageEmployee.getEmpIqama().setAqamaType(input.getValue());
看,它在任何地方都不会执行setEmpIqama()
。你必须自己准备。您的具体问题是getEmpIqama()
返回了null
,这使得setAqamaType()
调用不可能。错误消息也正说明了这一点
最合理的准备位置是与视图关联的请求/视图范围bean的(后期)构造函数,在本例中是{manageEmployee}
bean后面的类:
@PostConstruct
public void init() {
empIqama = new Tbl_aqama();
}
请注意,此构造中完全不需要setter。JSF/EL从未使用过它。您可以安全地删除它。您是如何在
manageEmployee
类中声明empIqama
的?你介意分享Tbl_aqama类吗?你的问题不完整:堆栈跟踪在哪里,什么组件是不可访问的?
@PostConstruct
public void init() {
empIqama = new Tbl_aqama();
}