URL地址映射配置 & 参数绑定
URL 映射地址配置之@RequestMapping
在类前面定义,则将url和类绑定,在方法前面定义,则将url和类的方法绑定
//url: http://localhost:8080/springmvc01/hello2/test01.do
@RequestMapping("test01")
public ModelAndView test01(){
ModelAndView mv=new ModelAndView();
mv.setViewName("hello");
mv.addObject("hello", "hello test01");
return mv;
}
//url: http://localhost:8080/springmvc01/hello2.do?test02
@RequestMapping(params="test02")
public ModelAndView test02(){
ModelAndView mv=new ModelAndView();
mv.setViewName("hello");
mv.addObject("hello", "hello test02");
return mv;
}
//url: http://localhost:8080/springmvc01/hello2/test03.do
@RequestMapping("test03")
public String test03(Model model){
model.addAttribute("hello", "hello test03");
return "hello";
}
//url: http://localhost:8080/springmvc01/hello2/test04.do
@RequestMapping("test04")
public String test04(ModelMap modelMap){
modelMap.addAttribute("hello", "hello test04");
return "hello";
}
//url: http://localhost:8080/springmvc01/hello2/test05.do
@SuppressWarnings("unchecked")
@RequestMapping("test05")
public String test05(Map model){
model.put("hello", "hello test05 ");
return "hello";
}
参数绑定
请求参数到处理器功能处理方法的方法参数上的绑定,对于参数绑定非常灵活
基本数据类型、字符串数据绑定
/**
* 简单数据类型 值必须存在 不传可以通过默认值代替
*/
@RequestMapping("data1")
public void data1(@RequestParam(defaultValue="10",name="age")int age,
@RequestParam(defaultValue="1",name="flag")boolean flag,
@RequestParam(defaultValue="100",name="s")double s){
System.err.println("age:"+age+":flag:"+flag+":s:"+s);
}
/**
* 包装类型 值可以为空
*/
@RequestMapping("data2")
public void data2(Integer age,Double s){
System.err.println("age:"+age+":s:"+s);
}
/**
* 字符串注入
* @param str
*/
@RequestMapping("data3")
public void data3(String str){
System.err.println("str:"+str);
}
数组类型
@RequestMapping("/dataTest3")
public void getParamsData3(@RequestParam(value="ids")String[] ids){
for(String id:ids){
System.out.println(id+"---");
}
}
vo 类型
@RequestMapping("/dataTest4")
public void getParamsData4(User user){
System.out.println(user);
}
list 类型
此时user 实体需要定义list 属性
public class User {
private int id;
private String userName;
private String userPwd;
private List<Phone> phones=new ArrayList<Phone>();
public List<Phone> getPhones() {
return phones;
}
public void setPhones(List<Phone> phones) {
this.phones = phones;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName