JSF 2.0:将页面转发的默认行为更改为页面重定向

时间:2011-08-17 07:15:42

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

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

1 个答案:

答案 0 :(得分: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?