2011-12-02 23 views
11

Podaję obiekt użytkownika do strony JSP i chcę porównać atrybut użytkownika z danym ciągiem. Co robię teraz jest następujący:Porównywanie ciągów znaków w EL

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

Ale mam jest następujący wyjątek:

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

gdzie kolumna 95 jest jedną z liter comLanguage.

Jaka jest prawidłowa składnia?

+2

Początkowej składnia będzie przez prace sposób, jeśli używasz EL 2.2. i użyj pojedynczych cytatów zamiast podwójnych cytatów w wywołaniu metody. – BalusC

Odpowiedz

19

Spróbuj tego:

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

Ponadto można spróbować trójargumentowy jeżeli:

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

+1. Lub zamiast ==, słowo kluczowe eq robi to samo. –

+0

Wygląda na to, że EL używa obiektów Java, ale nie wszystkie jego metody. Dziękuję Ci. – whitehat

Powiązane problemy