JSF <redirect />的后果使用

问题描述

|| 我不想将ѭ0附加到我的ѭ1的每个动作中,而是想在ѭ2action中永久使用它一次,但是我不确定使用它的后果。 规定使用
redirect
代替instead4ѭ。但是后果是什么?这是一种不好的做法吗,是否会影响持久性以及servlet的请求和响应? 对我来说,使用REDIRECT仅用于正确显示URL浏览器。 我打算使用这样的东西:
<navigation-rule>
    <from-view-id>/*</from-view-id>
    <navigation-case>
        <from-outcome>*</from-outcome>
        <redirect />
    </navigation-case>
</navigation-rule>
非常感谢您的指导。     

解决方法

        重定向基本上指示浏览器创建全新的HTTP GET请求。因此,在进行重定向时,所有请求(和视图)作用域的Bean都将被丢弃。在表单操作期间设置的任何请求范围的数据在新请求中将不再可用。如果这是一个主要问题,那么最好的选择是将其放在会话范围内,但这会带来更大的后果:会话范围Bean中的任何更改都会反映在同一浏览器选项卡/窗口中发生的所有操作中会议。一种替代方法是将感兴趣的数据作为重定向URL的查询字符串传递,但这很麻烦且丑陋。 如果实际上没有任何数据需要保留在重定向请求中,则可以这样做。但是,这带来了一个新的问题:为什么要使用POST请求?您是否正在向服务器提交内容?还是将其用于纯页面到页面导航?这个问题使我认为是后者。在这种情况下,您根本不应该使用POST进行页面间导航,而应该使用GET。这可以通过
<h:button>
(及其等效链接
<h:link>
)实现。
<h:button value=\"Next page\" outcome=\"nextpage\" />
如果实际上是前者,我会坚持下去。您不想为POST请求添加书签。 也可以看看: 什么时候应该使用h:outputLink而不是h:commandLink?     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...