Spring mvc结果跳转方法详解
ModelAndView
设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 .
页面 : {视图解析器前缀} + viewName +{视图解析器后缀}
<!-- 视图解析器 --><bean id='internalResourceViewResolver'> <!-- 前缀 --> <property name='prefix' value='/WEB-INF/jsp/' /> <!-- 后缀 --> <property name='suffix' value='.jsp' /></bean>
对应的controller类
public class ControllerTest1 implements Controller { public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { //返回一个模型视图对象 ModelAndView mv = new ModelAndView(); mv.addObject('msg','ControllerTest1'); mv.setViewName('test'); return mv; }}
ServletAPI
通过设置ServletAPI , 不需要视图解析器 .
通过HttpServletResponse进行输出 通过HttpServletResponse实现重定向 通过HttpServletResponse实现转发@Controllerpublic class ResultGo { @RequestMapping('/result/t1') public void test1(HttpServletRequest req, HttpServletResponse rsp) throws IOException { rsp.getWriter().println('Hello,Spring BY servlet API'); } @RequestMapping('/result/t2') public void test2(HttpServletRequest req, HttpServletResponse rsp) throws IOException { rsp.sendRedirect('/index.jsp'); } @RequestMapping('/result/t3') public void test3(HttpServletRequest req, HttpServletResponse rsp) throws Exception { //转发 req.setAttribute('msg','/result/t3'); req.getRequestDispatcher('/WEB-INF/jsp/test.jsp').forward(req,rsp); }}
SpringMVC
通过SpringMVC来实现转发和重定向 - 无需视图解析器;
测试前,需要将视图解析器注释掉
@Controllerpublic class ResultSpringMVC { @RequestMapping('/rsm/t1') public String test1(){ //转发 return '/index.jsp'; } @RequestMapping('/rsm/t2') public String test2(){ //转发二 return 'forward:/index.jsp'; } @RequestMapping('/rsm/t3') public String test3(){ //重定向 return 'redirect:/index.jsp'; }}
通过SpringMVC来实现转发和重定向 - 有视图解析器;
重定向 , 不需要视图解析器 , 本质就是重新请求一个新地方嘛 , 所以注意路径问题.
可以重定向到另外一个请求实现
@Controllerpublic class ResultSpringMVC2 { @RequestMapping('/rsm2/t1') public String test1(){ //转发 return 'test'; } @RequestMapping('/rsm2/t2') public String test2(){ //重定向 return 'redirect:/index.jsp'; //return 'redirect:hello.do'; //hello.do为另一个请求/ }}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章: