Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 无法达到的目标&x27;恩皮卡马';返回空值_Hibernate_Jsf 2 - Fatal编程技术网

Hibernate 无法达到的目标&x27;恩皮卡马';返回空值

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

我得到一个无法访问的错误目标。下面是我的xhtml文件和java文件

<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();
}