使用ExpressionEvaluatorManager解析EL出现的问题!!!
白乔 博客专家认证 2005-01-26 11:27:25 使用apache的ExpressionEvaluatorManager来解析EL,如下的代码出错:
tmd =
ExpressionEvaluatorManager.evaluate(
"tmd",
sss.toString(),
Object.class,
this,
pageContext);
报错信息:
javax.servlet.jsp.JspException: An error occurred while evaluating custom action attribute "tmd" with value "${aaa.bbb}": Unable to find a value for "bbb" in object of class "test.BBB" using operator "." (null)
at org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:111)
at org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:131)
at org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager.evaluate(ExpressionEvaluatorManager.java:75)
at test.AAATag.setTMD(AAATag.java:25)
at _aaa__jsp._jspService(_aaa__jsp.java:40)
at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
at com.caucho.jsp.Page.subservice(Page.java:506)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)
at com.caucho.server.http.Invocation.service(Invocation.java:315)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163)
at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
at java.lang.Thread.run(Thread.java:536)
但是如果在页面里使用c:out是正常的,语句如下:
<c:out value="${aaa.bbb}"/>
结果会输出test.BBB.get("bbb")的内容。
为什么c:out正常,而以上的程序会出错呢???请大侠帮忙!