SpringMVC-页面跳转方式

1.PrintWriter方式

  /**
     * 使用PrintWriter直接输出到页面
     * @param request
     * @param response
     * @throws Exception
     */
    @RequestMapping("/choose1")
    public void choose1(HttpServletRequest request,HttpServletResponse response) throws Exception{
        response.setContentType("text/html;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        PrintWriter writer = response.getWriter();
        writer.print("我要跳转...");
    }

 

2.sendRedirect方式

  /**
     * 根据sendRedirect方式跳转
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    @RequestMapping("/choose2")
    public String choose2(HttpServletRequest request,HttpServletResponse response,User user) throws Exception{
        response.sendRedirect("show.jsp");
        return null;
    }

 

3.forward方法

    /**
     * 根据forward方式跳转
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    @RequestMapping(value="/choose3",method=RequestMethod.GET)
    public void choose3(User user,HttpServletRequest request, HttpServletResponse response){
        try {
            request.getRequestDispatcher("to").forward(request, response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

4.使用视图解析

<!-- 配置JSP视图 -->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
   <property name="prefix" value="/WEB-INF/jsp/"/>
   <property name="suffix" value=".jsp"/>      
   <property name="contentType" value="text/html;charset=UTF-8"/>
   <property name="order" value="1"/>
</bean>
@RequestMapping(value="/to",method={RequestMethod.POST,RequestMethod.GET})
    public String to(@ModelAttribute("message") String msg,@ModelAttribute("too") String too){
        System.out.println("-----------------------------");
        System.out.println("message:"+msg);
        System.out.println("too:"+too);
        System.out.println("-----------------------------");
        return "show";
    }

当配置的有视图解析器时,如果Controller中返回的是一个普通的字符串,则跳转到/WEB-INF/jsp/show.jsp页面。

 

return "redirect:show"
return "forward:show"

如果返回的字符串有"redirect"、"forward"时,将会忽略视图解析器,直接跳转到Controller中相应的请求方法中,而不是跳转到页面。

 

posted @ 2018-01-18 16:42  天上云朵  Views(1232)  Comments(0)    收藏  举报