gpt4 book ai didi

java - 该项目不适用于 servlet 4.0 和 jsf 2.3

转载 作者:行者123 更新时间:2023-11-30 06:05:18 25 4
gpt4 key购买 nike

我有一个小型 Java EE 项目,在 intellij IDEA 中使用 CDI、JSF、BeanValidation、Servlet-api。我的服务器是 glassfish 5.0.0,我读到它实现了 servlet 4.0、cdi 2.0、jsf 2.3 和 beanvalidation 2.0。

我有以下 xml 配置:

1.web.xml:

      <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--Configurations-->
</web-app>

2.faces-config.xml:

    <faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">

</faces-config>

3.beans.xml:

    <?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_2_0.xsd">

</beans>

现在一切都很好,但是当我尝试将 servlet 3.1 更改为 servlet 4.0,将 jsf 2.2 更改为 jsf 2.3 时,我使用表达式语言的所有 jsf 页面都不起作用,例如 <h:commandButton action='#{bean.doSomething}' />不要触发事件

我做错了什么?对不起我的英语不好。

更新。

我正在将我的项目移至 Maven,重新更新所有库,一切正常,所以我认为问题出在错误的配置或库中。

最佳答案

如果有人感兴趣,这个问题很可能是由已知的 bug in Mojarra 引起的。在 Glassfish 5 中将默认的 2.3.2 javax.faces.jar 更新到至少 2.3.3 后,JSF 将再次按预期工作。

关于java - 该项目不适用于 servlet 4.0 和 jsf 2.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51468241/

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