【问题标题】:JSF 2.0 : change default behaviour from page forward to page redirectJSF 2.0:将默认行为从页面转发更改为页面重定向
【发布时间】:2011-08-17 07:15:42
【问题描述】:

我知道使用页面转发有一些优势,因为它是 JSF 中的默认设置。 我也知道如何使用隐式导航中的“faces-redirect”或 faces-config 文件中的标签为某些页面设置重定向。 我在互联网上进行了很多搜索,但没有找到一种简单直接的方法(例如配置参数)来为所有页面启用重定向。 我想在任何地方使用页面重定向的原因如下:如果每个页面都被询问其 url,则容器可以用于页面授权,而无需额外的安全库。不知道这是否是个好主意,但目前性能不是问题,使用容器安全性可以节省第一个版本的开发时间。

【问题讨论】:

    标签: jsf jsf-2 post-redirect-get


    【解决方案1】:

    您可以使用自定义ConfigureableNavigationHandler 来实现此目的。您可以在此问题的答案中找到启动示例:JSF 2 and Post/Redirect/Get?

    但是,我感觉您设计页到页导航的方式有误。您似乎正在使用 POST 请求进行简单的页面到页面导航。如果您将它们修复为 GET 请求,那么您无需担心这一点。因此,使用<h:link> 而不是<h:commandLink> 进行逐页导航。这样您就不需要实施 PRG。另见When should I use h:outputLink instead of h:commandLink?

    【讨论】:

    • 正如其他问题中所述,我对 JSF 很陌生,我正在开发一个基于 Netbeans 7.0 向导生成代码的应用程序。起初我认为自动生成的代码是最佳实践的结果,所以我尝试遵循它的体系结构和约定,但经过很多头疼之后,我开始相信它与 JSF 2.0 不是最新的。例如,所有页面到页面导航都是使用 完成的,我认为这是实现它的正确方法。我会尝试替换它,但遗留代码很多......
    猜你喜欢
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 2022-08-14
    相关资源
    最近更新 更多