【发布时间】:2012-07-05 21:24:45
【问题描述】:
我有一个 JSF1.2 应用程序,可以很好地部署在 Tomcat6 和 Tomcat7 上。 到目前为止一切顺利。
其中一个页面在 h:inputText 上包含以下属性:
disabled="#{quoteFinance.quoteSaved or quoteRequest.quoteDisabled or setting.protected}"
这在上述 Tomcat 服务器上验证并正常工作。 但是,websphere8 认为这是一个问题并抛出以下错误:
disabled="#{quoteFinance.quoteSaved or quoteRequest.quoteDisabled or setting.protected}" [protected] is not a valid Java identifier
at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)
at com.sun.facelets.tag.jsf.ComponentRule$ValueExpressionMetadata.applyMetadata(ComponentRule.java:69)
at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
at com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:76)
Cause:
javax.el.ELException: [protected] is not a valid Java identifier
at org.apache.el.parser.AstDotSuffix.setImage(AstDotSuffix.java:45)
at org.apache.el.parser.ELParser.DotSuffix(ELParser.java:1067)
at org.apache.el.parser.ELParser.ValueSuffix(ELParser.java:1033)
at org.apache.el.parser.ELParser.Value(ELParser.java:978)
at org.apache.el.parser.ELParser.Unary(ELParser.java:948)
at org.apache.el.parser.ELParser.Multiplication(ELParser.java:712)
at org.apache.el.parser.ELParser.Math(ELParser.java:632)
at org.apache.el.parser.ELParser.Compare(ELParser.java:444)
at org.apache.el.parser.ELParser.Equality(ELParser.java:338)
at org.apache.el.parser.ELParser.And(ELParser.java:282)
#{msg.continue} 有类似的问题,这很好,但因为 continue 是保留字,WAS8 会抛出错误。
- 为什么 websphere 在代码正常运行时不接受这一点?
- 我该如何解决这个问题?
非常感谢!
【问题讨论】:
-
这个link 可能会有所帮助。看起来异常是在以下调用
f.createValueExpression(ctx,this.value, type)中引发的。其中f是Websphere 上的ExpressionFactory实现。
标签: jsf websphere el jsf-1.2 websphere-8