使用commandButton更改flowScope值



我有一个布尔变量在我的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>

我没有找到多少关于如何改变值。这怎么可能呢?

现在我明白了。
我必须和transitions一起工作。在设置变量的同一个view-state中,我定义了两个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>

我没有改变exist变量的值,我只是覆盖了它。如果这是最好的或最干净的解决方案,我不知道,但它是有效的。现在我用commandButton中的action语句调用特定的transition:

<p:commandButton value="Show Date"
                            rendered="#{!render}" update="table1,buttons"
                            action="rendertrue" />
<p:commandButton value="Hide Date"
                            rendered="#{render}" update="table1,buttons"
                            action="renderfalse" />

相关内容

  • 没有找到相关文章

最新更新