use*_*509 3 java spring spring-mvc
我有一个Spring Annonted Controller,用于从表单中捕获信息并从数据库中获取搜索结果列表.
这是方法的定义
@RequestMapping(method = RequestMethod.POST, params = {SUBMIT_BTN })
public ModelAndView processForm(@ModelAttribute(COMMAND_NAME){
// 1. Load search results using search parameters from form (Contained in a collection of some sort)
// 2. Create the ModelAndView
// 3. Redirect with RequestView or redirect: to generate a GET.
}
Run Code Online (Sandbox Code Playgroud)
我想我需要重定向重定向:因为我在会话中的集合存储中有一个项目列表.无法将其添加为url请求参数.
基本上我试图防止问题,即后退按钮,表示页面已过期.我想在字符串中实现PRG模式.
我很难绕着将POST转换成GET.我可以重定向还是需要两种方法?感谢您的任何帮助,您可以提供.
标准模式是有一个控制器方法来处理GET,它显示用户的表单(或其他),以及一个处理POST的表单提交.POST方法在完成处理提交后发送重定向,然后返回到GET方法.
@RequestMapping(value="/myapp", method=GET)
public String showForm(@ModelAttribute(COMMAND_NAME){
return "form.jsp";
}
@RequestMapping(value="/myapp", method=POST)
public String processForm(@ModelAttribute(COMMAND_NAME){
// do stuff to process for submission
return "redirect:/myapp";
}
Run Code Online (Sandbox Code Playgroud)
使用"redirect:"前缀返回视图名称会强制Spring向前发送HTTP直接而不是内部请求.
这与Spring 2.0实现的模式相同SimpleFormController,但新方法更加透明.
| 归档时间: |
|
| 查看次数: |
3607 次 |
| 最近记录: |