gpt4 book ai didi

jsf-2 - 无法将 prettyfaces 与 jsf 集成

转载 作者:行者123 更新时间:2023-12-02 05:27:16 25 4
gpt4 key购买 nike

我需要集成 pretty faces使用我的 jsf 2.0,primefaces 应用程序,但它带来了一些麻烦。

getting started 中所述我在我的 web.xml 中放置了以下内容,在 lib 文件夹中添加了所需的 jar

<filter>
<filter-name>Pretty Filter</filter-name>
<filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
<async-supported>true</async-supported>
</filter>

<filter-mapping>
<filter-name>Pretty Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>

我的 web.xml 中的其他项目

  <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
<context-param>
<param-name>org.primefaces.extensions.DELIVER_UNCOMPRESSED_RESOURCES</param-name>
<param-value>false</param-value>
</context-param>

但我得到以下错误:

Invalid content was found starting with element 'async-supported'. One of '{"http://java.sun.com/xml/ns/javaee":init-param}' is expected

如果我删除 <async-supported>从项目构建、项目编译但映射不起作用。

pretty-config.xml与入门相同。

我是否需要在我的 web.xml 中提及映射文件的名称/路径,即 pretty-config.xml?

编辑:

我正在使用 Glassfish 服务器 3。

最佳答案

检查version非常重要您在 web.xml 中使用的属性.如果你有 version="2.5"设置,您必须将其添加到您的 web.xml 中:

<filter>
<filter-name>Pretty Filter</filter-name>
<filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Pretty Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>

请注意<async-supported>true</async-supported>此处未设置,因为它仅在 Servlet 3.0 中受支持。

如果你有version="3.0"在您的 web.xml 中设置,您不必向您的 web.xml 添加任何内容。在这种情况下,PrettyFaces 使用 web-fragment.xml 自动注册过滤器包含在 prettyfaces-jsf2.jar 中.

您不必指定 pretty-config.xml 的位置任何地方。只需将它放在您的 WEB-INF 中即可文件夹,PrettyFaces 会找到它。

您还应该将一个映射添加到您的 pretty-config.xml ,这样您就可以检查是否一切正常。例如,如果您有一个通常使用以下 URL 访问的页面:

http://localhost:8080/myapp/faces/login.xhtml

然后你可以添加这个映射:

<url-mapping id="login">
<pattern value="/login" />
<view-id value="/faces/login.xhtml" />
</url-mapping>

现在您应该可以使用此链接访问该页面:

http://localhost:8080/myapp/login

关于jsf-2 - 无法将 prettyfaces 与 jsf 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12893681/

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