0

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

关于如何解决它的任何想法?

4

1 回答 1

0

尝试这个:

<t:panelGroup>
<t:selectOneMenu id="id" value="#{row.someValue}" displayValueOnly="#{form.readState}">
        <f:selectItems value="#{row.listOfValues}" rendered="false"/>
  </t:selectOneMenu>
</t:panelGroup>
于 2010-06-14T07:41:46.667 回答