Primefaces selectBooleanCheckbox带有绑定

时间:2014-08-27 12:24:58

标签: jsf-2 primefaces

我正在尝试制作复合组件(在每个视图上多次使用),这允许我通过复选框值显示一些输入。一个输入取决于复选框值。我不想将它绑定到bean,因为此值不会保存到数据库中。我虽然将它保存在视野范围内。

我在face config holder中添加了绑定

<managed-bean>
    <description>Holder of all component bindings.</description>
    <managed-bean-name>components</managed-bean-name>
    <managed-bean-class>java.util.HashMap</managed-bean-class>
    <managed-bean-scope>view</managed-bean-scope>
</managed-bean>

复合组件:

<p:selectBooleanCheckbox binding="#{components[cc.attrs.bindingId]}">
    <p:ajax update="panel"/>
</p:selectBooleanCheckbox>
<h:panelGroup id="panel">
    <p:inputText rendered="#{components[cc.attrs.bindingId].value}" value="#{cc.attrs.beanPropertyOnTrue}">
    <p:inputText rendered="#{not components[cc.attrs.bindingId].value}" value="#{cc.attrs.beanPropertyOnFalse}">
</h:panelGroup>

它工作正常,我可以在一个视图上使用此组件,但问题是当我使用commandButton将表单发送到服务器时,复选框正在更改为未选中....

<p:commandButton value="show decision dialog" 
                 actionListener="#{testBean.action}"
                 update="@form"
                 oncomplete="if (args &amp;&amp; !args.validationFailed){ dialog.show() }"/>

0 个答案:

没有答案