我正在尝试在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>
答案 0 :(得分:2)
如果您正在使用完全支持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上运行。
答案 1 :(得分:1)
是的,只是检查你是否拥有tomcat的lib文件夹中的el和el-impl jar的权利。 (2.2我认为)