2011-11-10 12 views
12

मैं इस मेनू में एक 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.xthml या partnerships.xhtml पेज उपयोगकर्ता द्वारा चुना जाता है, तो 'सक्रिय' मूल्य <li> टैग में यह निर्धारित किया जाएगा कि।

उत्तर

24

यह उचित सिंटैक्स है:

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

यह थोड़ा कम करने के लिए, आपको #{facesContext.viewRoot} के बजाय #{view} इस्तेमाल कर सकते हैं:

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

यह अभी तक कम है, तो आप #{view.viewId} उर्फ ​​सकता बनाने के लिए <c:set>:

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

धन्यवाद बाउके, मैंने किया पता नहीं मैं छोटा कर सकता हूं, धन्यवाद दोस्त। –

+0

आपका स्वागत है। – BalusC

संबंधित मुद्दे