2013-07-30 2 views
2

Я использую следующий код для сравнения двух переменных, но, похоже, у него есть ошибка, так как страница вообще не загружается.Как сравнить две переменные в jsp

Основываясь на этом answer, мой код должен быть правильным, но на удивление не работает.

Если удалить <c:when> строку он показывает значения ${name} и ${myvar.employee.name}.

<c:forEach var="myvar" items="${user.names}"> 

    ${name} 
    ${myvar.employee.name} 

    <c:when test="${name eq myvar.employee.name}"> 
     hello 
    </c:when> 

ответ

3

Структура с <c:when> требует <c:choose>

<c:choose> 
    <c:when test="${your condition here}"> 
    </c:when> 
    <c:otherwise> 
    </c:otherwise> 
</c:choose> 

в противном случае вы получите сообщение об ошибке.

2

Как указал Alex, вы не можете без обернуть <c:when> в своем коде.

Но, похоже, в вашем случае <c:choose> не требуется, потому что у вас есть только одно предложение. В этом случае <c:if> может быть лучшим вариантом:

<c:if test="${name eq myvar.employee.name}"> 
    hello 
</c:if> 
Смежные вопросы