2012-08-03 77 views
5

我有一個TYPES類型的選擇框,每個類型都有自己的參數。 TYPES選擇框會觸發一些調用模板的AJAX,並在我的視圖上呈現PARAMETER選擇框。參數由名稱:值對組成,因此每個名稱可以有多個值。Grails g:如果測試多個條件

某些參數需要multiple ='true'才能讓用戶爲每個名稱選擇多個值,而其他參數只能限制爲一個選項。

在我的GSP頁面我有一大堆的這些:

<g:if test="${it?.getKey().toString().equals('PARAMETER_A')}"> 
     <td><g:select multiple="true" optionKey="id" optionValue="value" name="sampleParameters" id="parameter" value="${params?.sampleParameters}" from='${it?.getValue().sort()}'></g:select></td> 
    </g:if> 
    <g:if test="${it?.getKey().toString().equals('PARAMETER_B')}"> 
     <td><g:select multiple="true" optionKey="id" optionValue="value" name="sampleParameters" id="parameter" value="${params?.sampleParameters}" from='${it?.getValue().sort()}'></g:select></td> 
    </g:if> 

我的問題是,我有一個特定類型的6個參數需要選擇多個值,其餘的則沒有。而不是像上面那樣明確地輸出,有沒有一種方法可以在g中測試多於一件事情:if語句就像在java中一樣?如:

if(something.equals(PARAMETER_A) || something.equals(PARAMETER_B)) 

有沒有辦法做到這類似於Java的Groovy中方法的東西嗎?

回答

12

Grails g:if只是在其測試屬性中使用groovy。所以要回答你的問題,是的:

<g:if test="${something.equals(PARAMETER_A) || something.equals(PARAMETER_B)}"> 
</g:if> 
+1

謝謝。除此之外,我嘗試了其他方式。 – Universitas 2012-08-03 19:52:53