SpringMVC传值操作
在SpringMVC中传值分为从view传入controller和从controller传出到view;
1.从View传值到controller中,使用
@RequestParam()
注解可行,例子如下:
@RequestMapping({"/hello", "/"})
public String hello(@RequestParam("username") String username) {
System.out.println("hello");
System.out.println(username);
return "hello";
}
这样,username被认为是请求url的一部分,就是在请求的时候要强制输入username,否则会报错;非严格的来讲不用@RequestParam()
这个注解也可以的,如下:
@RequestMapping({"/hello", "/"})
public String hello(String username) {
System.out.println("hello");
System.out.println(username);
return "hello";
}
当然,像上面这样,username这个参数就不是强直性的了。
2.从controller中将值穿回给view中
在这两也介绍两种方式,两种方式的原理是一样的,都是通过一个key, value的键值对返回,第一种:通过一个Map
@RequestMapping({"/hello", "/"})
public String hello(@RequestParam("username") String username, Map<String, Object> map) {
map.put("username", username);
System.out.println("hello");
System.out.println(username);
return "hello";
}
将值存在map中然后传回给view;
第二种:使用Model(org.springframework.ui.Model)
,原理一样,代码如下:
@RequestMapping({"/hello", "/"})
public String hello(@RequestParam("username") String username, Model model) {
model.addAttribute("username", username);
System.out.println("hello");
System.out.println(username);
return "hello";
}
这样也可以将值从controller中传回给view.