spring重定向的问题,主要借助:“redirect:"这个关键字
@Controller
public class ViewController {
/**
* 页面重定向
* @return
*/
@RequestMapping("queryView1")
public String queryView1(){
return "redirect:v1.jsp";
}
/**
* 页面重定向,如果页面重定向有参数的情况
* ${param.a}||${param.b},获取参数的时候应该这样写,我们的参数不在作用域而是在地址栏,所以不能直接用EL 表达式取,还要借助于param函数根据参数名获取
* @return
*/
@RequestMapping("queryView2")
public String queryView2(){
return "redirect:v1.jsp?a=admin&b=123456";
}
/**
*如果重定向的参数中有中文,(get请求),则要借助于redirectAttributes携带重定向的参数
*/
@RequestMapping("queryView3")
public String queryView3(RedirectAttributes redirectAttributes){
redirectAttributes.addAttribute("a","加油");
redirectAttributes.addAttribute("b","123456");
return "redirect:v1.jsp";
}
/**
* 借助ModelAndView来进行重定向
*/
@RequestMapping("queryView4")
public ModelAndView queryView4(){
ModelAndView modelANdView=new ModelAndView();
modelANdView.setViewName("redirect:v1.jsp");
modelANdView.addObject("a","张三");
modelANdView.addObject("b","123456");
return modelANdView;
}
}
/**
* 也可以重定向到另一个方法上
*/
@RequestMapping("queryView6")
public ModelAndView queryView6(){
ModelAndView modelANdView=new ModelAndView();
modelANdView.setViewName("redirect:test.do");
modelANdView.addObject("a","张三");
modelANdView.addObject("b","123456");
return modelANdView;
}
//springMVC 默认就转发,现在看怎么转发到另一个方法上
/**
* 这里用了modelANdView.setViewName("forward:test.do?a=admin&b=123456");
* @return
*/
@RequestMapping("queryView5")
public ModelAndView queryView5(){
ModelAndView modelANdView=new ModelAndView();
modelANdView.setViewName("forward:test.do?a=admin&b=123456");
return modelANdView;
}