我有一個顯示文件夾內容(實際上是Dropbox的帳戶內容)的JSF頁面。如何使用JSF中的參數調用方法
我使用一個DataTable渲染ListArray對象的內容:
<h:dataTable style="text-align: left" width="600" var="dContent" value="#{backedBean.contents}">
<h:column>
<f:facet name="header">
<f:verbatim>NAME</f:verbatim>
</f:facet>
<h:commandButton value="#{dContent.fileName}" action="#{backedBean.updateContents(dContent)}"/>
</h:column>
<h:column>
<f:facet name="header">
<f:verbatim>SIZE</f:verbatim>
</f:facet>
<h:outputText value="#{dContent.size}"/>
</h:column>
</h:dataTable>
但是當我運行此頁我得到以下錯誤:
/browse.xhtml @34,110 action="#{backedBean.updateContents(dContent)}" Error Parsing: #{backedBean.updateContents(dContent)}
...
...
Caused by: org.apache.el.parser.ParseException: Encountered " "(" "("" at line 1, column 28. Was expecting one of:
"}" ...
"." ...
"[" ...
">" ...
"gt" ...
"<" ...
"lt" ...
">=" ...
"ge" ...
...
...
有趣的是, Netbeans能夠自動完成方法名稱,所以我認爲我的後端bean是可以的。只有當我使用參數調用方法時纔會出現問題。
任何想法?
非常感謝
非常感謝,我剛纔在調查,可能原因是我的容器(tomcat6)不支持這個功能。事實上,在glassfish v3上部署應用程序時,錯誤消失。非常感謝。 – Neos76 2011-03-11 14:34:09
請注意:我讀過JSF 2.0中支持的方法參數,Netbeans允許我使用tomcat 6和JSF 2.0支持來配置此應用程序。 JSF 2.0和EL 2.2在某些方面相關嗎? – Neos76 2011-03-11 14:37:55
這不是一個JSF 2.0功能。這是一個EL 2.2。特徵。 JSF 2.0與Java EE 6捆綁在一起,後者又捆綁了Servlet 3.0/EL 2.2。所以它*看起來像* JSF 2.0功能。但是,JSF 2.0向後兼容Java EE 5,後者又捆綁了Servlet 2.5/EL 2.1,但EL 2.1不支持這一點。 – BalusC 2011-03-11 14:52:52