我有一个 TYPES 选择框,每种类型都有自己的参数。 TYPES 选择框将触发一些调用模板的 AJAX,并在我的 View 上呈现 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>
我的问题是我有 6 个需要选择多个值的特定类型的参数,其余的则没有。有没有一种方法可以像在 java 中那样在 g:if 语句中测试不止一件事,而不是像上面那样显式地输入?如:
if(something.equals(PARAMETER_A) || something.equals(PARAMETER_B))
等等。
有没有办法做一些类似于java在groovy中的方法?
最佳答案
chalice g:if
仅在其测试属性中使用 groovy。所以要回答你的问题,是的:
<g:if test="${something.equals(PARAMETER_A) || something.equals(PARAMETER_B)}">
</g:if>
关于Grails 多个 g :if test for more than one condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801895/