我在 JSF 2 中看到可以将参数传递给方法调用。JSF 1.2 中有什么等价的吗?
将参数传递给方法调用并不特定于 JSF 2。它特定于 EL 2.2,而后者又是 JSP 2.2 / Servlet 3.0 / Java EE 6 的一部分。JSF 2 恰好也是 Java EE 6 的一部分。换句话说,如果您将 JSF 1.2 Web 应用程序部署到与 Servlet 3.0 兼容的容器(如 Tomcat 7、Glassfish 3 等)并且您web.xml
被声明为符合 Servlet 3.0 规范版本,那么它就可以满足 JSF 1.x 的要求也是。
但是,如果您仍然以旧 Servlet 版本的容器为目标,那么您需要提供一个不同的 EL 实现,它支持使用参数调用方法。其中一种实现是JBoss-EL,您只需将jboss-el.jar
文件放入/WEB-INF/lib
您的 webapp 并将以下上下文参数添加到web.xml
. 这是一个特定于 Mojarra 的示例(Mojarra是 JSF RI 的代号):
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
如果您使用 MyFaces 作为 JSF 实现,则需要以下上下文参数:
<context-param>
<param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
也可以看看: