代码从selectOneMenu和selectBooleanCheckbox中获取值,即使它没有呈现

时间:2010-06-11 13:21:50

标签: jsf tomahawk

我的.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工作正常。

有关如何修复它的想法吗?

1 个答案:

答案 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>