今天测试程序的时候意外遇到bug 由于程序部署在sae上不便于调试 最初以为是el表达式嵌套问题
......jsp(65,11) PWC6038: "${myfn:base64decoding(fn:replace(param.CN,' ','+')}" contains invalid expression(s): javax.el.ELException: Error Parsing: ${myfn:base64decoding(fn:replace(param.CN,' ','+')}Caused by:
org.apache.jasper.JasperException: /Home/MyAAO/icomment/iSay.jsp(65,11) PWC6038: "${myfn:base64decoding(fn:replace(param.CN,' ','+')}" contains invalid expression(s): javax.el.ELException: Error Parsing: ${myfn:base64decoding(fn:replace(param.CN,' ','+')} at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:78) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:373) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:185) at org.apache.jasper.compiler.JspUtil.validateExpressions(JspUtil.java:649) at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:752) at org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:946) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2291) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2341)
找了好久的解决办法 终于想到了本地调试 一看报错信息 瞬间明了
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /Home/MyAAO/icomment/iSay.jsp at line 65 62: style="color:#00f;text-align:center;font-size:60px;height: 1em; line-height: 1em; overflow: hidden;float:left;margin:4px;padding:1px; ">${myfn:base64decoding(fn:replace(param.A,' ','+'))}</span> 63: <div> 64: <!-- style="line-height: 12px;" --> 65: <h2>${myfn:base64decoding(fn:replace(param.CN,' ','+')}</h2> 66: <!-- --> 67: <span>鍙婃牸鐜囷細77%</span> <span>75浠ヤ笂锛�8%</span> <br /> <span>缁熻浜烘暟锛�0100</span> 68: </div> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) com.vtars.outsale.MyFilter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:37)
root cause
javax.el.ELException: Error Parsing: ${myfn:base64decoding(fn:replace(param.CN,' ','+')} org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:125) org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:146) org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:190) org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
妈蛋 原来是少了个“)”
如果我的方法有帮到你,不妨请杯水喝吧?