【问题标题】:How do an OR condition in a EL expression?EL 表达式中的 OR 条件如何?
【发布时间】:2011-12-25 20:20:04
【问题描述】:

我想在这个菜单中做一个 OR 条件:

<li class="#{facesContext.viewRoot.viewId == ('/company/team.xhtml' or '/company/partnerships.xhtml' ) ? 'active' : '' }"><a class="item" href="company/company.xhtml">Company</a>
    <ul>
        <li><a href="company/team.xhtml">Team</a></li>
        <li><a href="company/partnerships.xhtml">Partnerships</a></li>
    </ul>
</li>

如果用户选择了team.xthmlpartnerships.xhtml 页面,则“活动”值将在&lt;li&gt; 标记中设置。

【问题讨论】:

    标签: jsf jsf-2 el


    【解决方案1】:

    这是正确的语法:

    <li class="#{facesContext.viewRoot.viewId == '/company/team.xhtml' or facesContext.viewRoot.viewId == '/company/partnerships.xhtml' ? 'active' : '' }">
    

    为了缩短一点,您可以使用#{view} 代替#{facesContext.viewRoot}

    <li class="#{view.viewId == '/company/team.xhtml' or view.viewId == '/company/partnerships.xhtml' ? 'active' : '' }">
    

    为了使其更短,您可以将 #{view.viewId} 别名为 &lt;c:set&gt;

    <c:set var="viewId" value="#{view.viewId}" scope="request" />
    ...
    <li class="#{viewId == '/company/team.xhtml' or viewId == '/company/partnerships.xhtml' ? 'active' : '' }">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      • 2014-08-29
      • 2019-08-15
      • 1970-01-01
      • 2010-09-16
      相关资源
      最近更新 更多