2012-08-03 7 views
5

Tengo un cuadro de selección de TYPES que cada tipo tiene sus propios PARÁMETROS. El cuadro de selección TYPES disparará un poco de AJAX que llama a una plantilla y hace cuadros de selección de PARÁMETROS en mi vista. Los parámetros están formados por pares nombre: valor, por lo que cada nombre puede tener muchos valores.Grails multiple g: si prueba más de una condición

Algunos parámetros necesitan múltiple = 'verdadero' para que el usuario seleccione múltiples valores para cada nombre, mientras que otros parámetros deben restringirse a una sola opción.

En mi página gsp Tengo un montón de estos:

<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> 

Mi problema es que tengo 6 parámetros para un tipo particular que necesitan para seleccionar varios valores, el resto no. En lugar de escribir explícitamente como arriba, ¿hay alguna forma de probar más de una cosa en una declaración g: if como en java? tales como:

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

etc.

¿Hay una manera de hacer algo similar al enfoque de java en el maravilloso?

Respuesta

12

Grails g:if solo usa groovy en su atributo de prueba. Entonces para contestar su pregunta, sí:

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

Gracias. Intenté de otra manera pero eso. – Universitas

Cuestiones relacionadas