HTTP500错误:org.apache.jasper.JasperException: javax.el.ELException: Failed to parse the expression

一、报错信息:

javax.el.ELException: Failed to parse the expression [${item.dict_ itemname }]
	org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:152)
	org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:181)
	org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:245)
	org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:65)
	org.apache.jasper.compiler.Validator$ValidateVisitor.prepareExpression(Validator.java:1642)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:771)
	org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:955)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2431)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:919)
	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1554)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2431)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2437)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:467)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375)
	org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1869)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:221)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:375)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:335)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:597)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:383)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:331)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:582)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1271)
	org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:514)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:582)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

二、解析错误信息:

这个错误信息是Java Web应用程序在运行时遇到的一个异常,具体是在解析JSP页面中的EL(Expression Language)表达式时出现了问题,确保属性名是正确的,且没有使用空格或下划线。错误的核心是:

javax.el.ELException: Failed to parse the expression [${item.dict_ itemname }]

这表明在尝试解析${item.dict_ itemname}这个表达式时失败了。根据给出的异常的根源(Root Cause),这个ParseException异常表明在解析EL表达式时遇到了一个语法错误。错误的具体位置是在表达式的第1行第14列。解析器在这个位置遇到了一个它没有预期到的标识符itemname

根据错误信息,问题可能出现在以下几个方面:

  1. EL表达式的语法错误${item.dict_ itemname}这个表达式中的dict_ itemname可能是不正确的。在EL表达式中,属性名之间应该使用英文句点.来连接,而不是空格或下划线_

  2. 可能的拼写错误dict_ itemname看起来像是一个属性名,但它可能是由于复制粘贴时的拼写错误,正确的属性名可能应该是dictitemname(没有空格和下划线)。

  3. JSP页面的语法问题:如果这个EL表达式是在一个JSP标签的属性中使用,那么需要确保标签的语法是正确的。

  4. 服务器的EL解析器问题:虽然较不常见,但也可能是服务器的EL解析器有bug或者配置问题。

三、修改自己代码:

错误:

修改:

成功解决

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值