我正在尝试在tomcat6上运行我的项目(通常在tomcat7上运行)。但是,JSF现在无法使用带有参数的方法来调用,例如
<h:commandLink action="#{bean.setpage('index')}"/>
它在Tomcat7上正常工作。
是否可以在tomcat6上使用参数调用方法?
更新:以下 两个答案都是正确的,而且我还必须更新 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>
如果使用的容器完全支持JSF 2.0,则可以直接执行
<h:commandLink action="#{bean.setpage('index')}"/>。
否则您必须使用f:param或f:attribute。我认为Tomcat 7完全支持jsf 2,但是Tomcat 6不支持现成的。所以,你必须添加jstl-api-1.2.jar,jstl-impl-1.2.jar和el- impl-2.2.jar库,使其在Tomcat 6工作。
f:param
f:attribute
jstl-api-1.2.jar
jstl-impl-1.2.jar
el- impl-2.2.jar