java
  • jsf
  • el
  • 2013-04-11 35 views 0 likes 
    0

    在EL中設置以下條件的最佳方式是什麼?JSF EL和+或條件

    #{bean.booleanValue and (bean.stringValue ne 'MYCLOSED' or bean.stringValue ne 'ALLCLOSED')}" 
    

    括號似乎並沒有被承認爲一個有效的表達式,但它是該語句邏輯上呈現如下要求:

    bean.booleanValue && (bean.stringValue != 'MYCLOSED' || bean.stringValue != 'ALLCLOSED') 
    
    +0

    我不確定是否理解具體問題。第一個表達式的問題究竟是什麼?你有EL語法錯誤嗎?或者是第二個表達式的問題(我可以預先知道這確實會導致Facelets中的XML語法錯誤(注意:XML語法錯誤,而不是EL語法錯誤))。請不要忽略問題中的**確切**錯誤/異常消息。 – BalusC 2013-04-11 10:43:45

    +0

    問題在於第一條語句。第二個陳述僅僅是爲了說明如果我在後端做這些事情,我正在試圖達到的目標。第一條語句用於selectOneMenu渲染中的項目。我沒有收到錯誤消息,但它會導致菜單中的所有項目消失(根據我的經驗,當表達式出現問題時會發生這種情況)。 – tarka 2013-04-11 10:59:12

    回答

    1

    您可以使用三元運算符的第一個表達式如果評估結果爲真,則評估表達式的其餘部分,否則返回false。

    例如bean.booleanValue ? bean.stringValue ne 'MYCLOSED' or bean.stringValue ne 'ALLCLOSED' : false;

    這是我們當前在單一表達式中處理多個條件時使用的。

    相關問題