tomcat7异常javax.el.ELException

本文详细介绍了在使用Tomcat 7处理EL表达式时遇到的'标识符[new]不是有效的Java标识符'错误,并提供了三种解决方案:遵守Java规范修改属性名称、修改EL表达式或调整Tomcat属性以禁用关键字检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javax.el.ELException: The identifier [new] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.

解决方法是:

tomcat 7对EL表达式的语法要求比较严格,例如"${owner.new}"因包含关键字new就会导致解析出错。 
问题是出来了,怎么解决呢?有三种,如下: 
第一种:严格遵守java规范,修改对象的属性名称,要求不包含java关键字; 
第二种:修改EL表达式,例如"${owner.new}"可以修改为"${owner['new']}"; 
第三种:修改tomcat属性,忽略对EL表达式的关键字检查。修改$CATALINA_BASE/conf/catalina.properties文件,添加org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true选项。
HTTP状态 500 - 内部服务器错误 类型 异常报告 消息 org.apache.jasper.JasperException: javax.el.ELException: Failed to parse the expression [${encodeURIComponent(`${platform.toLowerCase()}_login_${timestamp}`)}] 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 org.apache.jasper.JasperException: org.apache.jasper.JasperException: javax.el.ELException: Failed to parse the expression [${encodeURIComponent(`${platform.toLowerCase()}_login_${timestamp}`)}] org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:589) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:425) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 根本原因。 org.apache.jasper.JasperException: javax.el.ELException: Failed to parse the expression [${encodeURIComponent(`${platform.toLowerCase()}_login_${timestamp}`)}] org.apache.jasper.compiler.Validator$ValidateVisitor.prepareExpression(Validator.java:1644) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:771) org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:959) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2385) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2437) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2443) org.apache.jasper.compiler.Node$Root.accept(Node.java:471) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2385) org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1869) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:224) org.apache.jasper.compiler.Compiler.compile(Compiler.java:391) org.apache.jasper.compiler.Compiler.compile(Compiler.java:367) org.apache.jasper.compiler.Compiler.compile(Compiler.java:351) org.apache.jasper.JspCompilationContext.compile(JspCompilationConte
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值