2011-10-27 130 views
2

我試圖在tomcat6上運行我的項目(通常在tomcat7上工作)。但JSF現在不能使用參數調用方法,例如JSF - 帶參數的調用方法(tomcat6)

<h:commandLink action="#{bean.setpage('index')}"/> 

它正常工作的Tomcat7 ..

是否可以調用方法與參數的tomcat6?

UPDATE:兩個波紋管的答案是正確的,我也不得不更新的context.xml

<context-param> 
    <param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name> 
    <param-value>com.sun.el.ExpressionFactoryImpl</param-value> 
</context-param> 
<context-param> 
    <param-name>com.sun.faces.expressionFactory</param-name> 
    <param-value>com.sun.el.ExpressionFactoryImpl</param-value> 
</context-param> 

回答

2

如果您正在使用支持JSF 2.0完全一個容器,可以直接做

<h:commandLink action="#{bean.setpage('index')}"/>

否則您必須使用f:paramf:attribute。我認爲Tomcat 7完全支持jsf 2,但Tomcat 6不支持開箱即用。所以你必須添加jstl-api-1.2.jar,jstl-impl-1.2.jarel-impl-2.2.jar庫,使其在Tomcat 6上工作。

+0

謝謝,是的,我使用的是JSF2。它通常工作在tomcat7 – gaffcz

+0

@gaffcz如果添加了JSTL 1.2 libary和El-IMPL-2.2.jar到WEB-INF/lib和它應該在Tomcat 6正常工作。 –

+0

謝謝。並將這些庫添加到項目的lib或tomcat6/lib目錄? – gaffcz

1

是的,只是檢查u有正確的E1和EL-IMPL jar文件在Tomcat的lib文件夾中。 (2.2我認爲)