spring mvc redirect 重定向 跳转并传递参数
2017-08-18 10:52
375 查看
在项目中做form表单功能提交时,防止用户客户端后退或者刷新时重复提交问题,需要在服务端进行重定向跳转,具体跳转方式有以下几种方式:
公用代码:
Java代码
@RequestMapping(value="/index",method = { RequestMethod.POST, RequestMethod.GET })
public ModelAndView index(HttpServletResponse response){
ModelAndView model = new ModelAndView("/home/index");
return model;
}
一、使用HttpServletResponse 进行重定向跳转
Java代码
@RequestMapping(value="/toIndex",method = { RequestMethod.POST, RequestMethod.GET })
ublic ModelAndView toIndex(HttpServletResponse response){
try {
response.sendRedirect("/index");
} catch (IOException e1) {
}
return null;
二、依赖spring mvc的 ViewResolver直接跳转
Java代码
@RequestMapping(value="/toIndex",method = { RequestMethod.POST, RequestMethod.GET })
public String toIndex(HttpServletResponse response){
return "redirect:/index";
}
注:当需要传递简单参数时可以使用以上两种方式通过get方式将参数拼接到url路劲后面。
三、依赖Spring mvc的RedirectAttributes
Java代码
@RequestMapping(value="/toIndex",method = { RequestMethod.POST, RequestMethod.GET })
public String toIndex(HttpServletResponse response,RedirectAttributes model){
model.addFlashAttribute("userName", 'TimerBin');
model.addFlashAttribute("userPass", 'ApeVm23U3wxEGocX');
return "redirect:/index";
}
在/home/index 可以直接使用${userName},${userPass}来获取重定向跳转的参数信息,这种方式可以处理复杂的参数传值问题,还可以使用此种方式来隐藏或缩短原有请求URL信息。
在controller中获取放在RedirectAttributes中的userName信息的方式:
Java代码
@RequestMapping(value="/index",method = { RequestMethod.POST, RequestMethod.GET })
public ModelAndView index(@ModelAttribute("userName") String userName){
ModelAndView model = new ModelAndView("/main/index");
model.addObject("userName", userName);
return model;
}
注:在项目中使用RedirectAttributes,因为该对象就是把参数信息放到项目中的session中,再多台服务器中使用该对象存储参数时已经要保证sesion设置是粘性的,不然在集群服务器中不支持该对象的使用!
公用代码:
Java代码
@RequestMapping(value="/index",method = { RequestMethod.POST, RequestMethod.GET })
public ModelAndView index(HttpServletResponse response){
ModelAndView model = new ModelAndView("/home/index");
return model;
}
一、使用HttpServletResponse 进行重定向跳转
Java代码
@RequestMapping(value="/toIndex",method = { RequestMethod.POST, RequestMethod.GET })
ublic ModelAndView toIndex(HttpServletResponse response){
try {
response.sendRedirect("/index");
} catch (IOException e1) {
}
return null;
二、依赖spring mvc的 ViewResolver直接跳转
Java代码
@RequestMapping(value="/toIndex",method = { RequestMethod.POST, RequestMethod.GET })
public String toIndex(HttpServletResponse response){
return "redirect:/index";
}
注:当需要传递简单参数时可以使用以上两种方式通过get方式将参数拼接到url路劲后面。
三、依赖Spring mvc的RedirectAttributes
Java代码
@RequestMapping(value="/toIndex",method = { RequestMethod.POST, RequestMethod.GET })
public String toIndex(HttpServletResponse response,RedirectAttributes model){
model.addFlashAttribute("userName", 'TimerBin');
model.addFlashAttribute("userPass", 'ApeVm23U3wxEGocX');
return "redirect:/index";
}
在/home/index 可以直接使用${userName},${userPass}来获取重定向跳转的参数信息,这种方式可以处理复杂的参数传值问题,还可以使用此种方式来隐藏或缩短原有请求URL信息。
在controller中获取放在RedirectAttributes中的userName信息的方式:
Java代码
@RequestMapping(value="/index",method = { RequestMethod.POST, RequestMethod.GET })
public ModelAndView index(@ModelAttribute("userName") String userName){
ModelAndView model = new ModelAndView("/main/index");
model.addObject("userName", userName);
return model;
}
注:在项目中使用RedirectAttributes,因为该对象就是把参数信息放到项目中的session中,再多台服务器中使用该对象存储参数时已经要保证sesion设置是粘性的,不然在集群服务器中不支持该对象的使用!
相关文章推荐
- spring mvc redirect 重定向 跳转并传递参数 && mvc:view-controller直接转发页面
- spring mvc redirect 重定向 跳转并传递参数
- spring mvc redirect 重定向 跳转并传递参数
- spring mvc框架 重定向实现传递参数
- springMVC controller间跳转 重定向 传递参数的方法
- spring mvc redirect 传递参数 和接收
- Spring MVC 使用redirect跳转页面,页面无法使用jstl接收参数的 解决办法
- Spring mvc redirect传递参数时异常RedirectAttributes
- springMVC controller间跳转 重定向 传递参数的方法
- spring mvc 重定向时参数传递
- Spring MVC重定向参数传递
- SpringMVC利用return new ModelAndView(new RedirectView("xxx.do"), Map map)重定向传递多参数
- 使用response.sendirect("html/employee.html?"+java.net.URLEncoder.encode(param.substri) 重定向传递参数,并隐藏跳转地址
- struts2.0传递中文参数,action重定向传中文参数,redirectAction传中文参数
- springMVC重定向redirect传递参数
- spring mvc 重定向之后带参数跳转
- 【spring mvc】 页面重定向时参数的传递
- Response.Redirect 跳转传参 传递包含“&”的参数
- Spring MVC 页面跳转时传递参数
- SpringMVC利用return new ModelAndView(new RedirectView("xxx.do"), Map map)重定向传递多参数