我ActionMessages
在执行一个没有显示的动作时遇到了一些问题,我发现我的问题是由于我的前锋redirect=true
在struts-config.xml中.
由于默认行为是redirect=false
,我一直在考虑可以使用哪些好处redirect=true
,我找不到任何答案.有谁知道何时以及为什么redirect=true
应该在行动中使用?
它可以防止"双重提交问题"
永远不要显示页面以响应POST
始终使用GET加载页面
使用REDIRECT从POST导航到GET
更多关于这里和这里
重定向向浏览器发送响应,强制浏览器发出新请求.从服务器的角度来看,浏览器只是发出一个新请求(尽管是自动的).重定向的一些特征:
放置现有参数和属性,使用您在URL中指定的参数形成新请求.
新的URL在浏览器中可见,用户可以将其加入书签.
它需要浏览器并返回,因此它可能会更慢.
在服务器上发生转发.浏览器不参与此操作.前进的一些特点:
添加新参数或覆盖现有参数.因此,无法从请求中删除现有参数.
可以在请求上下文中添加东西,它仍然可用.您可以通过这种方式传递信息.
在浏览器中不更改URL,对于浏览器,原始地址保持不变.
您只能转发到同一应用程序中的另一个URL.
所以这取决于你想要完成什么.前锋通常说得更快.但是,如果用户应该能够为新位置添加书签,则不能选择.