总述一:SpringMVC页面传入值,一共有三种方式:
request,方法参数,对象;
//其实有篇思路比较清晰的博文,建议大家读一下:
首先配置和搭建项目,在web.xml中配置控制器,配置容器中打开注解扫描和注解的驱动。
在这个之后,也就不用在增加其他内容了,相当方便。
1.使用request
java类:
public String login3(HttpServletRequest req){ String id=req.getParameter("id"); String name=req.getParameter("name"); System.out.println(id); System.out.println(name); return "Hello"; }String id=req.getParameter("id");String name=req.getParameter("name");// 打印一下System.out.println(id);System.out.println(name);return "Hello";} 2 使用方法参数接受参数,注意如果方法参数名字和传入的参数名字一致,则正确用,如果不一致,则使用@RequestParam这个注入标签
@RequestMapping("/login.do")public String login1(String id,@RequestParam("name") String na){ System.out.println(id); System.out.println(na); return "Hello"; //因为hyml中的id,name与此参数相同所以,spring会直接自动注入, }
3.使用对象接受参数 ,注意 实体类中的属性名和页面的name值要一样。
@RequestMapping("/login.do") public String addUser5(@ModelAttribute Student s) { System.out.println("userName is:"+s.getId()); System.out.println("password is:"+s.getName()); return "Hello"; } @Componentpublic class Student implements Serializable{ private String id; private String name; public Student() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
SpringMVC向页面传出值
注意:在调试的时候,有些浏览器会有缓存,导致在测试其他传值的时候,无法预计效果,此时需要清理浏览器缓存。
//第一种 往外传值方式 public ModelAndView login5(String id, String demo){ Map map=new HashMap (); //建议使用map map.put("idsss", id); map.put("demosss", demo); return new ModelAndView("Hello1", map); } //第二种 往外传值方式 @RequestMapping("/login.do") public String login6(String id, String name,ModelMap model){ model.addAttribute("id", id); model.addAttribute("name", name); return "Hello1"; } //第三种往外传值方式 @ModelAttribute public String login8(@ModelAttribute Student s){ System.out.println(s.getId()); System.out.println(s.getName()); return "Hello1"; } //第四种往外传值方式 @ModelAttribute public String login9(HttpServletRequest req){ String id=req.getParameter("id"); String name=req.getParameter("name"); req.setAttribute("idsdfasdf", id); req.setAttribute("sdfsad", name); //idsdfasdf与sdfsad名字随意 return "Hello1"; } //第五种往外传值方式 @ModelAttribute // 得到session的方式 有两种 public String login10(String id ,String name,HttpSession session){ session.setAttribute("idsdfasdf", id); session.setAttribute("sdfsad", name); return "Hello1"; }