2011-12-02 43 views
11

Tôi đang cung cấp đối tượng Người dùng cho JSP và muốn so sánh thuộc tính của người dùng với một Chuỗi đã cho. Những gì tôi đang làm ngay bây giờ là như sau:So sánh các chuỗi trong EL

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

Nhưng tất cả tôi nhận được là ngoại lệ sau:

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

nơi cột 95 là một trong những thư comLanguage.

Cú pháp chính xác ở đây là gì?

+2

cú pháp ban đầu của bạn sẽ được làm việc cách nếu bạn đang sử dụng EL 2.2. và sử dụng các dấu ngoặc đơn thay vì doublequotes bên trong cuộc gọi phương thức. – BalusC

Trả lời

19

Hãy thử điều này:

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

Ngoài ra bạn có thể thử ternary nếu:

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

+1. Hoặc, thay vì ==, từ khóa eq cũng giống như vậy –

+0

Có vẻ như EL sử dụng các đối tượng Java nhưng không phải tất cả các phương thức của nó. Cảm ơn bạn. – whitehat