2011-12-02 11 views
11

Estoy dando un objeto de Usuario a JSP y quiero comparar un atributo del usuario con una Cadena dada. Lo que estoy haciendo en este momento es la siguiente:Comparando cadenas en EL

<input type="radio" name="lang" value="ger" <c:if test="${user.comLanguage.equals("ger")}">checked="yes"</c:if>/>German</br> 

Pero todo lo que consigo es la siguiente excepción:

org.apache.jasper.JasperException: /WEB-INF/jsp/library/home.jsp (line: 22, column: 95) equal symbol expected 

donde la columna 95 es una de las cartas de comLanguage.

¿Cuál es la sintaxis correcta aquí?

+2

Su sintaxis inicial será por cierto trabajo si se está utilizando EL 2.2. y usa comillas simples en lugar de dobles comillas dentro de la llamada al método. – BalusC

Respuesta

19

Prueba esto:

<c:if test="${user.comLanguage=='ger'}"> 

También usted puede probar si ternario:

${user.comLanguage=='ger' ? 'checked' : ''} 
+3

+1. O, en lugar de ==, la palabra clave eq hace lo mismo –

+0

Parece que EL usa objetos de Java pero no todos sus métodos. Gracias. – whitehat