logo头像

一路过来,不过游牧自己。。

SSM之SpringMVC(三)


在上次写了之后过了好长时间,额,主要写起来也蛮费劲的,而且有事,所以没有及时更新,但无伤大雅,每次写都是一个回顾过程!

3、跳转方式

(1)设置ModelAndView对象,根据view的名称,和视图解析器转到指定的页面。

页面:视图解析器的前缀—+view name+视图解析器的后缀

1
2
3
ModelAndView mv = new ModelAndView();
mv.setViewName("hello");
mv.addObject("msg", "annotation ------");

(2)通过ServletAPI 对象来实现。

通过HttpServletResponse来进行输出

1
resp.getWriter().println("hello spring mvc use httpServlet api");

这里不需要视图解析器的配置
并实现重定向:

1
resp.sendRedirect("index.jsp");

实现转发:

1
2
req.ServletAttribute("msg","ServletAPI forward");
req.getRequestDispatcher("index.jsp").forward(req,resp);

(3)通过springMVC来实现转发和重定向–没有视图解析器的时候

转发的实现1:

1
2
3
4
@RequestMapping("/hello1")
public String hello(){
return "index.jsp";
}

转发方式2:

1
2
3
4
@RequestMapping("/hello1")
public String hello(){
return "forward:index.jsp";
}

重定向:

1
2
3
4
@RequestMapping("/hello1")
public String hello(){
return "redirect:index.jsp";
}

(4)通过springMVC来实现转发和重定向–有视图解析器的时候

这里就要将视图解析器加上了
转发方式,这里可以不用写了.jsp

1
2
3
4
@RequestMapping("/hello2")
public String hello2(){
return "index";
}

实现重定向:

1
2
3
4
@RequestMapping("/hello2")
public String hello2(){
return "redirect:index.do";
}

这里的要写index.do,所以要注意redirect不需要视图解析器!!!!!

微信打赏

赞赏是不耍流氓的鼓励