JSP頁面代碼:
<form?action="springmvc/ModelAttribute"?method="POST">
????<input?type="hidden"?name="id"?value="1"/>
????age:<input?type="text"?name="age"?value="22"/><br><br>
????username:<input?type="text"?name="username"?value="Tom"/><br><br>
????email:<input?type="text"?name="email"?value="tom@163.com"/><br><br>
????<input?type="submit"?value="Test?ModelAttribute">
</form>
?
控制器層代碼:
@Controller
@RequestMapping("/springmvc")
//@SessionAttributes(value={"user"},types=String.class)
public?class?SpringMVCTest02?{
????private?static?final?String?SUCCESS?="success";
?????
????/**
?????*?18.測試@ModelAttribute注解
?????*?@param?user
?????*?@return
?????*/
????@RequestMapping(value="/ModelAttribute",method=RequestMethod.POST)
????public?String?test18(UserBean?user)?{
????????System.out.println("模擬需要進(jìn)行修改的user對象:"+user);
????????return?SUCCESS;
????}
?????
????@ModelAttribute
????public?void?getUser(@RequestParam(value="id",required=false)?Long?id,
????????????????????????Map<String,?Object>?map)?{
????????if?(id?!=?null)?{
????????????UserBean?user?=?new?UserBean();
????????????user.setAge((short)21);
????????????user.setId(new?Long(1));
????????????user.setUsername("Jerry");
????????????user.setPassword("123456");
????????????user.setEmail("jerry@163.com");
????????????System.out.println("模擬從數(shù)據(jù)庫獲取的User對象:"+user);
????????????map.put("user",?user);
????????}
????}
}
?
這是控制臺輸出:
?
模擬從數(shù)據(jù)庫獲取的User對象:UserBean?[id=1,?age=21,?email=jerry@163.com,?username=Jerry,?password=123456,?address=null]
模擬需要進(jìn)行修改的user對象:UserBean?[id=1,?age=22,?email=tom@163.com,?username=Tom,?password=null,?address=null]
?
需求是把獲取到password賦值給為null的password
2018-01-14
?/**
?????*?18.測試@ModelAttribute注解
?????*?@param?user
?????*?@return
?????*/
????@RequestMapping(value="/ModelAttribute",method=RequestMethod.POST)
????public?String?test18(UserBean?user,Map<String,Object> map)?{
????????String pwd=map.get("user1").getPassword();
????????user.setPassword(pwd);
????????System.out.println("模擬需要進(jìn)行修改的user對象:"+user);
????????return?SUCCESS;
????}
??????
????@ModelAttribute
????public?void?getUser(@RequestParam(value="id",required=false)?Long?id,
????????????????????????Map<String,?Object>?map)?{
????????if?(id?!=?null)?{
????????????UserBean?user?=?new?UserBean();
????????????user.setAge((short)21);
????????????user.setId(new?Long(1));
????????????user.setUsername("Jerry");
????????????user.setPassword("123456");
????????????user.setEmail("jerry@163.com");
????????????System.out.println("模擬從數(shù)據(jù)庫獲取的User對象:"+user);
????????????map.put("user1",?user);
????????}
????}
這樣不知道可以不可以....
2018-01-18