Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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
Jsf 2 JSF2中接受输入的自定义组件在单击按钮时对其进行修改,并重新呈现该组件_Jsf 2 - Fatal编程技术网

Jsf 2 JSF2中接受输入的自定义组件在单击按钮时对其进行修改,并重新呈现该组件

Jsf 2 JSF2中接受输入的自定义组件在单击按钮时对其进行修改,并重新呈现该组件,jsf-2,Jsf 2,我对JSF(才1周大)和开发第一个组件相当陌生。组件类似于一个表,它将集合作为输入,并以表格式呈现内容。除此之外,在每行的末尾呈现一个“删除”链接 我创建了“复合”组件(.xhtml)和ComponentType(一个带有@FacesComponent的java类) 我得到了完整的表格渲染,每行都显示了“删除”链接。现在尝试添加在我的类中使用@FacesComponent定义的操作 <a4j:commandLink action="#{cc.removeRow(rowKey)}" valu

我对JSF(才1周大)和开发第一个组件相当陌生。组件类似于一个表,它将集合作为输入,并以表格式呈现内容。除此之外,在每行的末尾呈现一个“删除”链接

我创建了“复合”组件(.xhtml)和ComponentType(一个带有@FacesComponent的java类)

我得到了完整的表格渲染,每行都显示了“删除”链接。现在尝试添加在我的类中使用@FacesComponent定义的操作

<a4j:commandLink action="#{cc.removeRow(rowKey)}" value="Remove"/>

而且它几乎像我的要求。有一件事我不确定,那就是在呈现表单时,表单操作会是什么,如果我单击组件中的按钮,它将如何在自己的组件bean中调用该方法。

好的,这就是我所犯的错误

我正在使用番石榴“表”集合呈现一个自定义表。表的初始化发生在一次调用的“encodeBegin”中。因此,当我单击submit时,它试图重新呈现表,它将所有内容都视为null,因此抛出NPE

现在,我将表的初始化提取到一个单独的方法中,并提取一个helper方法来检索现有的表(如果它不是null),或者从属性中重新初始化

现在可以了