gpt4 book ai didi

jsf - 在 Servlet 2.4 容器上运行 JSF 2.0

转载 作者:行者123 更新时间:2023-11-28 21:46:59 24 4
gpt4 key购买 nike

据我所知,JSF 2 需要 servlet 2.5,因此它不能在 JBOSS 4.05 (Tomcat 5.5) 上运行。不幸的是,我必须在该环境中部署一个使用 JSF 2.0 和 Primefaces 的应用程序。

有什么技巧可以使用吗?

最佳答案

JSF 2.0 严重依赖 EL 2.1这是 Servlet 2.5 的一部分,与 EL 2.0 相比是一个重大变化它是 Servlet 2.4 的一部分,但它不依赖于任何特定的 Servlet 2.5 特定 API。 Servlet 2.4 应该也能正常工作。所以理论上,如果您在 /WEB-INF/lib 中提供自己的 EL 2.1 API 和实现,您可以让 JSF 2.0 在 Servlet 2.4 上工作。 .我在 Tomcat 5.5.33 上使用以下库在 /WEB-INF/lib 中进行了快速测试:

还有一个 Servlet 2.4 web.xml声明 JBoss EL 的位置:

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

带有简单 <h:form> 的简单 JSF 2.0 Facelet(不是 JSP!)带有 <f:ajax> 的按钮和一个简单的 @ViewScoped @ManagedBean在 Tomcat 5.5.33 上为我工作。在您的 JBoss 4.0.5 上试一试并彻底测试它。

请注意,您至少需要 JDK 1.5,而不是 JDK 1.4。另请注意,由于存在特定于 Servlet 2.5 的 el-api.jar,您的应用程序无法以这种方式移植到任何 Servlet 3.0 容器。文件。

关于jsf - 在 Servlet 2.4 容器上运行 JSF 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5998447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com