yudan
作者yudan·2010-06-25 11:52
系统工程师·1

WebSphere 7.0的一些关于EL表达式的问题(zt)

字数 8195阅读 153116评论 0赞 0

今天遇到了一个很奇怪的问题,同事写的一个关于El表达式的程序可以正常运行,但是转移到我的机器就莫名奇妙的报了一些错误,然后页面的字段无法正常现实,说那个EL表达式无法解析。问题如下:

[10-5-19 21:58:31:232 CST] 00000021 servlet       E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: 应用程序 CdaApplication 中 servlet /accountAddressDetailsInfo.jsp 的某一服务方法创建了未捕获到的异常。创建的异常:javax.el.ELException: Error Parsing: #{(('P' eq accountAddress.prefInd)?msgs.yes:null)}
at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:130)
at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:151)
at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:195)
at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
at com.ibm._jsp._accountAddressDetailsInfo._jspx_meth_h_outputText_5(_accountAddressDetailsInfo.java:539)
at com.ibm._jsp._accountAddressDetailsInfo._jspx_meth_rich_column_2(_accountAddressDetailsInfo.java:578)
at com.ibm._jsp._accountAddressDetailsInfo._jspx_meth_rich_scrollableDataTable_0(_accountAddressDetailsInfo.java:1721)
at com.ibm._jsp._accountAddressDetailsInfo._jspx_meth_hx_scriptCollector_0(_accountAddressDetailsInfo.java:1789)
at com.ibm._jsp._accountAddressDetailsInfo._jspx_meth_h_form_0(_accountAddressDetailsInfo.java:1829)
at com.ibm._jsp._accountAddressDetailsInfo._jspx_meth_f_view_0(_accountAddressDetailsInfo.java:1869)
at com.ibm._jsp._accountAddressDetailsInfo._jspService(_accountAddressDetailsInfo.java:96)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1443)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:104)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:234)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:335)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:325)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415)
at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:491)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:159)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1443)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:859)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1557)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:173)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:202)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:766)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:896)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
Caused by: org.apache.el.parser.ParseException: Encountered "msgs.yes: null" at line 1, column 36.
Was expecting one of:
    "(" ...
    <IDENTIFIER> ...
    <NAMESPACE> <IDENTIFIER> ...
   
at org.apache.el.parser.ELParser.generateParseException(ELParser.java:1874)
at org.apache.el.parser.ELParser.jj_consume_token(ELParser.java:1754)
at org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1136)
at org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1030)
at org.apache.el.parser.ELParser.Value(ELParser.java:978)
at org.apache.el.parser.ELParser.Unary(ELParser.java:960)
at org.apache.el.parser.ELParser.Multiplication(ELParser.java:723)
at org.apache.el.parser.ELParser.Math(ELParser.java:643)
at org.apache.el.parser.ELParser.Compare(ELParser.java:455)
at org.apache.el.parser.ELParser.Equality(ELParser.java:349)
at org.apache.el.parser.ELParser.And(ELParser.java:293)
at org.apache.el.parser.ELParser.Or(ELParser.java:237)
at org.apache.el.parser.ELParser.Choice(ELParser.java:203)
at org.apache.el.parser.ELParser.Expression(ELParser.java:183)
at org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1122)
at org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1030)
at org.apache.el.parser.ELParser.Value(ELParser.java:978)
at org.apache.el.parser.ELParser.Unary(ELParser.java:960)
at org.apache.el.parser.ELParser.Multiplication(ELParser.java:723)
at org.apache.el.parser.ELParser.Math(ELParser.java:643)
at org.apache.el.parser.ELParser.Compare(ELParser.java:455)
at org.apache.el.parser.ELParser.Equality(ELParser.java:349)
at org.apache.el.parser.ELParser.And(ELParser.java:293)
at org.apache.el.parser.ELParser.Or(ELParser.java:237)
at org.apache.el.parser.ELParser.Choice(ELParser.java:191)
at org.apache.el.parser.ELParser.Expression(ELParser.java:183)
at org.apache.el.parser.ELParser.DeferredExpression(ELParser.java:121)
at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:49)
at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:98)

本来是以为EL标签库的问题,但是其实不然,其实是EL表达式写的有点问题,高版本的WebSphere可以识别写法不规则的EL表达式,但是低版本的就不行,标准的三位运算表达式Expression1 ? Expression2 :Expression3,每个表达式和运算符之间,都有一个空,否则websphere7.0是无法识别的。高于这个版本的可以。

原文地址:http://hi.baidu.com/yalan_jia/blog/item/9afebf8b795bc7bf0f244429.html

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广