官方documentation中不清楚rendered
f:viewAction
属性的说明。
我在想,如果它包含一个评估为false的表达式,action
表达式就不会像下面的例子那样执行:
<f:viewAction
action="#{javax.enterprise.context.conversation.begin()}"
rendered="#{javax.enterprise.context.conversation.isTransient()}"
/>
但无论action
属性的评估结果如何,rendered
始终都会被执行。
那么它的目的是什么?
答案 0 :(得分:1)
您可能是评估rendered
属性时间的受害者。使用if
的{{1}}属性更安全,因为它的唯一目的是您的用例:
viewAction
<f:viewAction action="#{javax.enterprise.context.conversation.begin()}"
if="#{javax.enterprise.context.conversation.isTransient()}"/>
属性仅在评估为if
时执行视图操作,并且在JSF2.2中是新的
相关: