Grails multiple g:如果测试多个条件

时间:2012-08-03 19:12:06

标签: grails

我有一个TYPES选择框,每个类型都有自己的PARAMETERS。 TYPES选择框将触发一些调用模板的AJAX并在我的视图上呈现PARAMETER选择框。参数由名称:值对组成,因此每个名称可以有许多值。

一些参数需要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>

我的问题是我有一个特定TYPE需要选择多个值的6个参数,其余的则没有。有没有一种方法可以测试g中的多个东西:if语句就像你可以在java中一样?如:

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

等。

有没有办法在groovy中做类似于java的方法?

1 个答案:

答案 0 :(得分:12)

Grails g:if只在其test属性中使用了groovy。所以回答你的问题,是的:

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