Jsp JSTL EL无效表达式:javax.EL.ELException:在Tomcat7中

Jsp JSTL EL无效表达式:javax.EL.ELException:在Tomcat7中,jsp,tomcat,jstl,el,Jsp,Tomcat,Jstl,El,我试图让这个旧的JSP项目在Tomcat7、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> <

我试图让这个旧的JSP项目在Tomcat7、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>

模板
${param.class}
错误如下所示:

<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)“${empty 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)


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

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

请参阅

现在错误更改为=>org.apache.jasper.jaspereException:javax.servlet.ServletException:javax.servlet.jsp.jspeException:java.lang.NoSuchFieldError:deferredExpression我添加了-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true,这就解决了问题。。。。谢谢你的链接${something.new}由于
new
关键字,也会出现相同的错误。谢谢