Недопустимые выражения JSTL EL: javax.el.ELException: в Tomcat 7 - PullRequest
7 голосов
/ 23 января 2012

Я пытаюсь запустить этот старый проект JSP в Tomcat 7, JRE7, но получаю эту ошибку на большинстве страниц проекта.Кто-нибудь может пролить свет на то, что происходит?

Код выглядит так:

<c:set var="structClass">
    <c:if test="${empty param.class}">template</c:if>
    <c:if test="${not empty param.class}">${param.class}</c:if>
</c:set>

Ошибка выглядит так:

org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: org.apache.jasper.JasperException: /WEB-INF/templates/template.jsp (строка: 77, столбец: 4) "$ {пусто param.class} "содержит недопустимые выражения: javax.el.ELException: не удалось проанализировать выражение [$ {empty param.class}] org.apache.jasper.servlet.JspServletWrapper.handleJspException (JspServletWrapper.java:585) org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:455)

1 Ответ

12 голосов
/ 23 января 2012

это из-за 'class' ключевое слово в выражении попробуйте использовать

<c:if test="${empty param['class']}">template</c:if>
<c:if test="${not empty param['class']}">${param['class']}</c:if>

см. http://geekomatic.ch/2011/03/22/1300804080000.html

...