【发布时间】:2011-11-16 18:47:34
【问题描述】:
我按照Google 的教程进行操作,并将el-api-2.2.jar 和el-impl-2.2.jar 加入到WEB-INF/lib。我的测试用例很简单:
<f:view contentType="text/html">
<h:form id="f1">
<p:commandLink action="#{parameterBean.test(myString)}">
<h:outputText value="test"/>
</p:commandLink>
</h:form>
</f:view>
action 方法只是一个public void test(String s) {log.log(Level.INFO, "T: "+s);}。 I 日志显示(在页面的初始渲染期间):
javax.faces.view.facelets.TagAttributeException: /jsf/admin/test/parameter.xhtml
@15,62 action="#{parameterBean.test('myString')}" Error Parsing:
#{parameterBean.test('myString')}
...
Caused by: javax.el.ELException: Error Parsing: #{parameterBean.test('myString')}
...
Caused by: org.apache.el.parser.ParseException: Encountered " "(" "( ""
at line 1, column 21.
Was expecting one of: "}" "." "[" ">" ...
我认为这个错误是 GAE 特有的,我想知道 org.apache.el.parser 是从哪里进入游戏的,因为 el-libs 提供了以下软件包:
-
el-api-2.2.jar:javax.el.* -
el-impl-2.2.jar:com.sun.el.*
注意在调查这个问题的过程中,我再次检查了Unified Expression Language web site(在教程中给出),只发现el-api-1.1.jar和el-impl-1.1.jar是最新版本。错误保持不变。
【问题讨论】:
标签: java google-app-engine jsf-2 el