SpringMVC響應視圖和結果視圖詳解

1、返回字符串,Model傳輸數據

/**
     * 返回String
     * @param model
     * @return
     */
    @RequestMapping("/testString")
    public String testString(Model model){
        System.out.println("testString方法執行瞭...");
        // 模擬從數據庫中查詢出User對象
        User user = new User();
        user.setUsername("美美");
        user.setPassword("123");
        user.setAge(30);
        // model對象
        model.addAttribute("user",user);
        return "success";
    }

2、void(不經常使用)

/**
     * 是void
     * 請求轉發一次請求,不用編寫項目的名稱
     */
    @RequestMapping("/testVoid")
    public void testVoid(HttpServletRequest request, HttpServletResponse response) throws Exception {
        System.out.println("testVoid方法執行瞭...");
        // 編寫請求轉發的程序
        // request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request,response);
        // 重定向
        // response.sendRedirect(request.getContextPath()+"/index.jsp");
        // 設置中文亂碼
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        // 直接會進行響應
        response.getWriter().print("你好");
        return;
    }

3、返回ModelAndView完成跳轉頁面和傳輸數據

 /**
     * 返回ModelAndView
     * @return
     */
    @RequestMapping("/testModelAndView")
    public ModelAndView testModelAndView(){
        // 創建ModelAndView對象
        ModelAndView mv = new ModelAndView();
        System.out.println("testModelAndView方法執行瞭...");
        // 模擬從數據庫中查詢出User對象
        User user = new User();
        user.setUsername("小鳳");
        user.setPassword("456");
        user.setAge(30);
        // 把user對象存儲到mv對象中,也會把user對象存入到request對象
        mv.addObject("user",user);
        // 跳轉到哪個頁面
        mv.setViewName("success");
        return mv;
    }

4、forward轉發

 /**
     * 使用關鍵字的方式進行轉發
     * @return
     */
    @RequestMapping("/testForwardOrRedirect")
    public String testForwardOrRedirect(){
        System.out.println("testForwardOrRedirect方法執行瞭...");
        // 請求的轉發
        return "forward:/WEB-INF/pages/success.jsp";
    }

5、redirect重定向

/**
     * 使用關鍵字重定向
     * @return
     */
    @RequestMapping("/testForwardOrRedirect")
    public String testForwardOrRedirect(){
        System.out.println("testForwardOrRedirect方法執行瞭...");
        // 重定向
        return "redirect:/index.jsp";
    }

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: