package com.springs.mvc; import com.spring.entity.User; import com.sun.org.apache.xpath.internal.operations.Mod; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * ModelAttribute 用法详解 */ @Controller @RequestMapping(value = "/cms") public class CmsController { /* ModelAttribute 1: 注释返回具体类的方法 @ModelAttribute(value = "loginname") //使用value来指定model属性名称,model值就是方法返回值 public String userModel1(@RequestParam("loginname") String loginname){ return loginname; } @RequestMapping(value = "/login1") public String login1(){ return "result1"; } //result1.jsp : ${requestScope.loginname} */ /* ModelAttribute 2: 注释void返回值方法 @ModelAttribute public void userModel2(@RequestParam("loginname") String loginname, Model model){ model.addAttribute("loginname",loginname); } @RequestMapping(value = "/login2") public String login2(){ return "result2"; } //result2.jsp : ${requestScope.loginname} */ /* ModelAttribute 3:注释返回具体方法 public User findUser(String loginname){ Map<String ,Object> map = new HashMap<String ,Object>(); for(int i = 1;i<10;i++){ String username = String.valueOf(i); User user = new User(); user.setUsername(username); map.put(username,user); } if(map.get(loginname) != null){ return (User) map.get(loginname); } return null; } @ModelAttribute//model属性名没指定,那就是返回值类型的小写也就是user public User userModel3(@RequestParam("loginname") String loginname){ return this.findUser(loginname); } @RequestMapping(value = "/login3") public String login3(){ return "result3"; } //result3.jsp : ${requestScope.user.username} */ /*ModelAttribute 4: @RequestMapping与 @ModelAttribute同时指定方法,RequestMapping的value就是页面名称, ModelAttribute的value是model的名称,方法返回值就是Model的value @RequestMapping(value = "/result1") @ModelAttribute(value = "username") public String login4(){ return "value666"; } // /view/cms/result4.jsp : ${requestScope.username} */ /*ModelAttribute 5 : @ModelAttribute 注释一个方法的参数 @ModelAttribute("user") //使用value来指定model属性名称,model值就是方法返回值 public User userModel5(@RequestParam("loginname") String loginname,@RequestParam("password") String password){ User user = new User(); user.setUsername(loginname); user.setPassword(password); return user; } @RequestMapping(value = "/login5") public String login5(@ModelAttribute("user") User user){ user.setMobile("13247629622"); return "result5"; } //result5.jsp : ${requestScope.user.loginname} */ }
springMVC注解@ModelAttribute多种用法
猜你喜欢
转载自blog.csdn.net/jj546630576/article/details/81115368
今日推荐
周排行