<form action="SpringMVC/testupdate" method="post">
id:<input type="text" name="id" value="101"/>
<br>
name:<input type="text" name="name" value="Tom"/>
<br>
<input type="submit" value="UPDATE"/>
</form>
<br><br>
<a href="SpringMVC/helloword">helloword</a>
<br><br>
<a href="SpringMVC/testModelMap">testModelMap</a>
<br><br>
<a href="SpringMVC/testModelAttribute">testModelAttribute</a>
<br><br>
<a href="SpringMVC/TESTMAP">testMap</a>
<br><br>
<a href="SpringMVC/testModel">testModel</a>
<br><br>
<a href="SpringMVC/testModelAndView">testModelAndView</a>
<br><br>
@SessionAttributes(value={"username"},types=User.class)
//types=User.class//将Map中属性为username的属性存放到Session中 以便于夸请求访问
public class Hellow{
/*1.执行ModelAttribute修饰的方法
* 2.获取原始数据放置到请求范围内指定Key 对应的Value;
* 3.pojo 入参会从请求范围内找指定的Key对应的value对象找到的话入参
* 4.前端用户输入的值与业务方法的入参进行绑定
* */
//原始数据 101 Tom
//方法入参 在进行数据绑定之前 首先到请求范围当中查找指定Key(POJO类的首字母小写的 Account)对应的Value 值对象
@ModelAttribute
public void start(Map <String ,Object> map){
//从数据库中查询出来的原始数据
Account ac=new Account(1,"Tom","2018-11-6");
map.put("abc", ac);
}
@RequestMapping("/testupdate")
public String testupdate(@ModelAttribute("abc")Account account){
System.out.println(account);
return SUCCESS;
}
@ModelAttribute("user")
//可以从隐含的模型数据中获取对象,在将请求参数绑定到对象中 在 传入入参
//在所有方法调用之前调用 防止空值 update时
public User testuser(){
User user=new User();
user.setSex("男");
user.setUsername("吕谦");
return user;
}
@RequestMapping("/testModelAttribute")
public String testModelAttribute(Map<String,Object> map){
System.out.println(map.get("user"));
return SUCCESS;
}
@RequestMapping("/TESTMAP")
public String testmap(Map<String,Object > map){
map.put("username", new User("lvqian","NAM"));
return SUCCESS;
}
@RequestMapping("/testModelMap")
public String testModelMap(ModelMap mm){
mm.addAttribute("city", "晋城");
return SUCCESS;
}
//在一个请求中传递处理的数据 参数有多种
@RequestMapping("/testModel")//
public String testMpdel(Model model){
model.addAttribute("model", "www.baidu.com");
List list=Arrays.asList(" 冷雨夜","灰色轨迹");
model.addAttribute("model", list);
return SUCCESS;
}
//可指定jsp转发的路径 mv.setViewName("success");
@RequestMapping("/testModelAndView")
//包含模型数据以及视图 返回值为ModelAndView
public ModelAndView testModel(){
System.out.println("testModel");
// return mv;
// ModelAndView mv=new ModelAndView();
// mv.setViewName("success");//视图
//值放在request当中 根据key获取value
// mv.addObject("name", "TOM");//资源addObjects(Map map)
return new ModelAndView(SUCCESS,"username","lvqian");
}
//使用ServletAPI作为入参
@RequestMapping("/testServlet")
public String testServlet(HttpServletRequest request,HttpServletResponse response){
User user =new User();
user.setSex("女");;
user.setUsername("张娘子");
request.setAttribute("username",user);
return SUCCESS;
}
<h4>Seccess</h4>
<%-- ModelMap:${requestScope.city}
HttpServletRequest:${requestScope.model} --%>
<%-- username :${requestScope.username.username}
SEX :${requestScope.username.sex}
Session: username:${sessionScope.username.username }
Session: sex:${sessionScope.username.sex } --%>