1.綁定數據的三種對象
- ModelAndView
- ModelMap
- Model
2.例子
package com.zyf.springMVC.mvcmodelandview;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/mvcmodelandview")
public class MvcModelAndViewController {
@RequestMapping("mav1")
public ModelAndView mav1(ModelAndView mav) {
Map<String, Object> modelMap = new ModelMap();
modelMap.put("name", "張三");
mav.addAllObjects(modelMap);// ModelAndView保存map數據
mav.addObject("id", "001");// ModelAndView保存鍵值數據
User user = new User();
user.setNote("備註信息");
mav.addObject("user", user);// ModelAndView保存鍵值數據,值是一個對象
mav.setViewName("mvcmodelandview/mav1");
return mav;
}
@RequestMapping("mav2")
public String mav2(Model model) {
Map<String, Object> modelMap = new HashMap<String, Object>();
modelMap.put("name", "張三");
model.addAllAttributes(modelMap);
model.addAttribute("id", "001");
User user = new User();
user.setNote("備註信息");
model.addAttribute("user", user);
return "mvcmodelandview/mav1";
}
@RequestMapping("mav3")
public String mav3(ModelMap modelMap) {
modelMap.put("name", "李四");
modelMap.addAttribute("id", "002");
User user = new User();
user.setNote("備註信息2");
modelMap.addAttribute("user", user);
return "mvcmodelandview/mav1";
}
}
前臺獲取數據html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<span>用戶名:</span><span th:text="${name}"></span><br/>
<span>id:</span><span th:text="${id}"></span><br/>
<span>備註:</span><span th:text="${user.note}"></span><br/>
</body>
</html>