1

私の中にブール変数がありますview-state

<set name="flowScope.render" value="false" type="java.lang.Boolean" />

今、私commandButtonはこの変数で

<p:commandButton value="Show Dates"
                            rendered="#{!render}"
                            update="table1,buttons" />

今、このコマンドボタンをクリックして変数の値を変更したいと思います。を試しましたsetPropertyActionListenerが、うまくいきません:

<p:commandButton value="Show Dates" rendered="#{!render}" update="table1,buttons">
    <f:setPropertyActionListener value="true" target="#{render}" />
</p:commandButton>

値を変更する方法についてはあまりわかりません。では、これはどのように可能ですか?

4

1 に答える 1

1

今、私はそれを理解しました。
と一緒に働かなければなりませんtransitionsview-state変数が設定されているのと同じ場所で、2 つ定義しますtransitions

<transition on="rendertrue">
    <set name="flowScope.render" value="true" type="java.lang.Boolean" />
</transition>
<transition on="renderfalse">
    <set name="flowScope.render" value="false" type="java.lang.Boolean" />
</transition>

存在変数の値は変更せず、上書きするだけです。これが最善の解決策であるか、解決策であるかはわかりませんが、うまくいきます。
今、私は次のステートメントで特定のものtransitionを呼び出します:actioncommandButton

<p:commandButton value="Show Date"
                            rendered="#{!render}" update="table1,buttons"
                            action="rendertrue" />
<p:commandButton value="Hide Date"
                            rendered="#{render}" update="table1,buttons"
                            action="renderfalse" />
于 2013-04-03T13:14:34.267 に答える