springmvc@ModelAttribute注解
2017-11-23 20:18
381 查看
package com.atguigu.springmvc.handlers;
import java.util.Arrays;
import java.util.Date;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
import com.atguigu.springmvc.entities.User;
import com.sun.tracing.dtrace.ModuleAttributes;
@Controller
@SessionAttributes(value={"user"})
public
classTe1 {
@ModelAttribute
public User getUser(@RequestParam("id") String
id){
Useruser= newUser();
if(id!=null && !"".equals(id)){
user.setEmail("10291009@qq.com"+id);
}
return
user;
}
//测试@SessionAttribute
@RequestMapping("/updateUser")
publicString updateUser(@ModelAttribute("user")User
user){
return
"demo1";
}
}
@ModelAttribute:在方法上,HandlerAdapter每次执行目标方法(updateUser)前
都会执行@ModelAttribute标注的方法即getUser,
在执行完getUser方法后会将 User类首字母小写存入model域中,并存入session域中,但如果此时在session域中
已经存在了user,那么此时是先将session域的user取出来,进行非空属性更新(并不会将新建user地址值存给session的user),
然后执行@ModelAttribute("user")User
user 从session域中取出user
,将参数user对
session域的user进行非空属性更换,将更新后的user放入
model和session域中
import java.util.Arrays;
import java.util.Date;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
import com.atguigu.springmvc.entities.User;
import com.sun.tracing.dtrace.ModuleAttributes;
@Controller
@SessionAttributes(value={"user"})
public
classTe1 {
@ModelAttribute
public User getUser(@RequestParam("id") String
id){
Useruser= newUser();
if(id!=null && !"".equals(id)){
user.setEmail("10291009@qq.com"+id);
}
return
user;
}
//测试@SessionAttribute
@RequestMapping("/updateUser")
publicString updateUser(@ModelAttribute("user")User
user){
return
"demo1";
}
}
@ModelAttribute:在方法上,HandlerAdapter每次执行目标方法(updateUser)前
都会执行@ModelAttribute标注的方法即getUser,
在执行完getUser方法后会将 User类首字母小写存入model域中,并存入session域中,但如果此时在session域中
已经存在了user,那么此时是先将session域的user取出来,进行非空属性更新(并不会将新建user地址值存给session的user),
然后执行@ModelAttribute("user")User
user 从session域中取出user
,将参数user对
session域的user进行非空属性更换,将更新后的user放入
model和session域中
相关文章推荐
- spring mvc @ModelAttribute注解使用
- spring mvc @ModelAttribute注解应用分析
- Spring MVC @ModelAttribute注解总结
- springmvc @ModelAttribute的注解参数用法
- Spring @ModelAttribute注解用法
- SpringMVC @ModelAttribute 详解
- Spring MVC @ModelAttribute详解
- Spring @ModelAttribute注解用法
- springmvc @SessionAttributes和@ModelAttribute的正确使用
- 深入解读Spring Framework Web MVC(第七弹:@ModelAttribute的使用)
- Spring MVC @ModelAttribute 详解
- Spring MVC @ModelAttribute 详解
- Spring MVC @ModelAttribute
- SpringMVC @ModelAttribute 详解
- Spring MVC @ModelAttribute 获取不到值
- Spring注解-@ModelAttribute
- spring mvc model.addAttribute页面c:forEach取不到
- Spring MVC @ModelAttribute 详解
- springMVC @ModelAttribute学习
- Spring @ModelAttribute注解用法