是否有一种优雅的方式来处理渲染检查,类似于if else块

use*_*108 2 jsf seam

在下面的场景中,"hasA"条件被检查两次,有没有办法模仿这个类似于if/else块,以便条件只被评估一次

            <s:decorate template="/layout/display.xhtml">
                <h:outputText value="Print A." rendered="#{hasA}"/>
                <h:outputText value="Print B." rendered="#{!hasA}"/>
            </s:decorate>
Run Code Online (Sandbox Code Playgroud)

Dej*_*ell 6

您可以使用EL表达式在value属性中编写条件

 <h:outputText value="#{hasA ? 'Print A.' : 'Print B.'}" />
Run Code Online (Sandbox Code Playgroud)