我的.xhtml中有以下代码代码
<t:panelGroup rendered="false">
<t:selectOneMenu id="id" value="#{row.someValue}" displayValueOnly="#{form.readState}">
<f:selectItems value="#{row.listOfValues}"/>
</t:selectOneMenu>
</t:panelGroup>
listOfValues在表单填充器中设置,因此存在于表单对象中。此外,正如预期的那样,上面概述的部分不会在输出HTML中呈现。
但是,当单击页面中的“保存”按钮时,以下代码会尝试从XHTML中获取值,即使它未呈现。因此,它不会复制表单中存在的值,而是将其设置为null(因为它未在XHTML中设置)。
object1.setSomeValue(form.getSomeValue());
据我所知,这只发生在selectBooleanCheckbox和selectOneMenu上。例如。 inputText工作正常。
有关如何修复它的想法吗?
答案 0 :(得分:0)
试试这个:
<t:panelGroup>
<t:selectOneMenu id="id" value="#{row.someValue}" displayValueOnly="#{form.readState}">
<f:selectItems value="#{row.listOfValues}" rendered="false"/>
</t:selectOneMenu>
</t:panelGroup>