首頁 > 軟體

SpringMVC資料頁響應ModelAndView實現頁面跳轉

2022-07-10 18:00:43

SpringMVC的資料響應

SpringMVC的資料響應方式

①頁面跳轉

  • 直接返回字串(如在一個方法中,return了一個"xxx.jsp",就會轉發到那個jsp頁面中,這就是直接返回字串的形式)
  • 通過ModelAndView物件返回

②回寫資料

  • 直接返回字串(相當於在javaweb裡的resp.getwrite(),print)
  • 返回物件或集合  

頁面跳轉

1、返回字串形式

直接返回字串:此種方式會將返回的字串與檢視解析器的前字尾拼接後跳轉。

 返回帶有字首的字串:

轉發:forward:/WEB_INF/views/index.jsp(forward可以省略不寫)
重定向:redirect:/index.jsp

2、返回ModelAndView物件

方式1:直接new物件

//設定類,使用註解把這個類放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
    @RequestMapping(value = "/ZengHui2")
    public ModelAndView save2(){
        /*
        Model 模型 作用是封裝資料
        View  檢視 作用是展示資料
         */
        ModelAndView modelAndView=new ModelAndView();
        //設定模型資料(鍵值對,鍵為String,值為Oject)
        modelAndView.addObject("username", 1);
        //設定檢視名字
        modelAndView.setViewName("KCandZH");//經過前字尾拼接就位/jsp/KCandZH.jsp
        return modelAndView;
    }
}

在jsp包下的KCandZH.jsp中

<html>
<head>
    <base href="<%=basepath %>" rel="external nofollow" />
    <meta charset="utf-8"/>
    <title>Insert title here</title>
</head>
<body>
kCandZH forever  ${username}
</body>
</html>

加上一個El表示式,這樣瀏覽器存取localhost:8080/KongChao/ZengHui2,就會顯示出kCandZH forever  1

 方式2:寫在方法裡讓SpringMVC建立

也可以不new物件的方式,在方法中直接寫model物件,SpringMVC會自動幫你建立

//設定類,使用註解把這個類放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
 
    @RequestMapping(value = "/ZengHui3")
    public ModelAndView save3( ModelAndView modelAndView){
        //設定模型資料(鍵值對,鍵為String,值為Oject)
        modelAndView.addObject("username", "babala");
        //設定檢視名字
        modelAndView.setViewName("KCandZH");//經過前字尾拼接就位/jsp/KCandZH.jsp
        return modelAndView;
    }
}

方式3:model和view分開做

model是SpringMVC框架封裝好的

//設定類,使用註解把這個類放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
    @RequestMapping(value = "/ZengHui4")
    public String save4(Model model){//是model
        //設定模型資料(鍵值對,鍵為String,值為Oject)
      model.addAttribute("username","曾慧");
 
      return "KCandZH";//是view
 
    }
}

方式4:通過HttpServletRequest

//設定類,使用註解把這個類放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
    @RequestMapping(value = "/ZengHui5")
    public String save5(HttpServletRequest request){//是model
        //設定模型資料(鍵值對,鍵為String,值為Oject)
        request.setAttribute("username","kckckc");
        
        return "KCandZH";
    }
}

方式3和方式4的區別,model是SpringMVC封裝好的,而HttpServletRequest是原生的javaweb,是由tomcat伺服器產生的,這個產生的物件中有資料,有http請求的資料(請求行,請求體....),model物件則是空的。方式4不常用

到此這篇關於SpringMVC資料頁響應ModelAndView實現頁面跳轉的文章就介紹到這了,更多相關SpringMVC頁面跳轉內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com