У меня есть следующий код в файле JSTL:
<c:choose>
<c:when test="${application.lodging eq 'F'}"><bean:message key="courseapplication.lodgingF"/></c:when>
<c:when test="${application.lodging eq 'H'}"><bean:message key="courseapplication.lodgingH"/></c:when>
<c:when test="${application.lodging eq 'B'}"><bean:message key="courseapplication.lodgingB"/></c:when>
</c:choose>
$ application.lodging - F, но я получаю следующую ошибку:
SEVERE: ServletException in '/administration/jsp/applications.jsp': An exception occured trying to convert String "F" to type "java.lang.Long"
org.apache.jasper.JasperException: Exception in JSP: /administration/jsp/applications.jsp:20
17: <h2><a href="application.do?id=${application.id}&type=S">${application.name}</a></h2>
18: <h3>
19: <c:choose>
20: <c:when test="${application.lodging eq 'F'}"><bean:message key="courseapplication.lodgingF"/></c:when>
21: <c:when test="${application.lodging eq 'H'}"><bean:message key="courseapplication.lodgingH"/></c:when>
22: <c:when test="${application.lodging eq 'B'}"><bean:message key="courseapplication.lodgingB"/></c:when>
23: </c:choose>
На моем локальном сервере с Apache Tomcat 6.0 этот код не создавал никаких проблем.
В моих приложениях сервер с tomcat 5.5 выдает вышеуказанную ошибку.
Кто-нибудь знает, почему это может быть?
То же самое происходит, если я использую == вместо eq
SEVERE: ServletException in '/administration/jsp/applications.jsp': An exception occured trying to convert String "F" to type "java.lang.Long"
org.apache.jasper.JasperException: Exception in JSP: /administration/jsp/applications.jsp:20
17: <h2><a href="application.do?id=${application.id}&type=S">${application.name}</a></h2>
18: <h3>
19: <c:choose>
20: <c:when test="${application.lodging=='F'}"><bean:message key="courseapplication.lodgingF"/></c:when>
21: <c:when test="${application.lodging=='H'}"><bean:message key="courseapplication.lodgingH"/></c:when>
22: <c:when test="${application.lodging=='B'}"><bean:message key="courseapplication.lodgingB"/></c:when>
23: </c:choose>