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或者配置问题。

三、修改自己代码:

错误:

修改:

成功解决

异常报告 消息 /main.jsp (行.: [9], 列: [42]) 使用“name”和“value”属性期望“jsp:param”标准操作 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 org.apache.jasper.JasperException: /main.jsp (行.: [9], 列: [42]) 使用“name”和“value”属性期望“jsp:param”标准操作 org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:31) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:268) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:91) org.apache.jasper.compiler.Parser.parseParam(Parser.java:851) org.apache.jasper.compiler.Parser.parseBody(Parser.java:1704) org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1028) org.apache.jasper.compiler.Parser.parseInclude(Parser.java:880) org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1142) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1482) org.apache.jasper.compiler.Parser.parse(Parser.java:144) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:264) org.apache.jasper.compiler.ParserController.parse(ParserController.java:109) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:192) org.apache.jasper.compiler.Compiler.compile(Compiler.java:365) org.apache.jasper.compiler.Compiler.compile(Compiler.java:343) org.apache.jasper.compiler.Compiler.compile(Compiler.java:329) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ):注意 主要问题的全部 stack 信息可以在 server logs 里查看 请问我的错误在哪
最新发布
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值