gpt4 book ai didi

jsf-2 - PrettyFaces 和 h :link outcome tag don't redirect to a clean URL

转载 作者:行者123 更新时间:2023-12-04 19:08:11 25 4
gpt4 key购买 nike

我用 PrettyFaces 重写错误页面对 h:link 不起作用,我不明白为什么。

我的链接应该重定向到 login.xhtml应该是 /Login .

发生了什么事,我错过了什么吗?

我的重写规则导航:

<navigation-rule>
<from-view-id>/pageNotFound.xhtml</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>

我的 web.xml 用于错误页面处理和漂亮的过滤器配置:
<error-page>
<error-code>404</error-code>
<location>/pageNotFound.xhtml</location>
</error-page>
<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>INCLUDE</dispatcher>
</filter-mapping>

我的漂亮 config.xml:
    <url-mapping id="login">
<pattern value="/Login" />
<view-id value="/login.xhtml" />
</url-mapping>

我的 pageNotFound.xhtml:
<rich:panel style="width:50%;margin-top:100px;" header="Page Not Found.">
<h:link value="Login page" outcome="login" />
</rich:panel>

最佳答案

基本上,您将 Prettyfaces 的 View ID 与 JSF 的 View ID 混合在一起。你不能在 JSF 上下文中直接使用这个 id,你 need to tell它是一个漂亮的 id。这应该有效:

<h:link value="Login page" outcome="pretty:login" />

此外,如果您更喜欢使用 JSF id,您可以直接使用/login 代替:
<h:link value="Login page" outcome="/login" />

Prettyfaces 的过滤器应该考虑到它是一个映射 id 并直接重定向到您的/Login url。

关于jsf-2 - PrettyFaces 和 h :link outcome tag don't redirect to a clean URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19247697/

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