JSTL EL无效表达式:javax.el.E​​LException:在Tomcat 7中

Aug*_*oom 7 jsp tomcat jstl el

我试图让这个旧的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>
Run Code Online (Sandbox Code Playgroud)

错误看起来像:

org.apache.jasper.JasperException:javax.servlet.ServletException:javax.servlet.jsp.JspException:org.apache.jasper.JasperException:/WEB-INF/templates/template.jsp(line:77,column:4)" $ {empty param.class}"包含无效的表达式:javax.el.E​​LException:无法解析表达式[$ {empty param.class}] org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java) :585)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)

Hem*_*lia 12

这是因为表达式中的'class'关键字试图使用

<c:if test="${empty param['class']}">template</c:if>
<c:if test="${not empty param['class']}">${param['class']}</c:if>
Run Code Online (Sandbox Code Playgroud)

参考http://geekomatic.ch/2011/03/22/1300804080000.html

  • 由于 `new` 关键字,${something.new} 也说同样的错误。谢谢。 (2认同)