发现bug在Tomcat6.x中 使用EL如${条件?A:B} 当A为变量时错,但5.x不会出现
运行环境 windows Xp jdk1.6 tomcat6.0.16jsp 代码 如下
-----------------------------------------------------------------
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<% request.setAttribute("a","1"); request.setAttribute("b","2"); %>
Use Expression :
${a<b?a:b}
------------------------------------------------------------------
出错信息:
exception:
javax.el.ELException: Error Parsing: ${a<b?a:b}
PrintStatckTrace():
at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:125)
at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:146)
at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:190)
at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:922)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:94)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803
在Tomcat6.x中 使用EL如${条件?A:B} 只有当A为变量时错,但在5.x不会出现!
看了一下ExpressionBuilder源码,有些复杂!
不知那位高人,能否把修改正确ExpressionBuilder相关代码发给我!QQ:81223336
在下不胜感激!
页:
[1]