前言:
建议在web.xml中加上 springMVC的字符编码过滤器
encoding
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encoding
/*
这个字符编码过滤器是针对post请求的
准备一个user类(这里 属性名一定要遵循小驼锋命名法 因为一会使用对象传递参数的时候 springMVC 是根据属性的get set方法 设取值的 多的不管首字母与第二个绝对不能取大写)
private String name;
private int age;
private char sex;
private ArrayList hobbies;
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public ArrayList getHobbies() {
return hobbies;
}
public void setHobbies(ArrayList hobbies) {
this.hobbies = hobbies;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
最基本的数据传递
controller
@RequestMapping("userAdd.do")
public String userAdd(String name,String sex,String[] hobbies,int age) {
System.out.println("name:"+name);
System.out.println("sex:"+sex);
System.out.println("hobbies:"+hobbies);
System.out.println("age:"+age);
return "success";
}
jsp
这里只需要记住 我们input里面的name是什么 在 controller的方法里面需要什么就填什么参数,类型得匹配(接收不了可能会出现400)
详情点击查看
@RequestMapping("/test.do")
public String test(HttpRequest request) {
HttpHeaders headers = request.getHeaders();
return "success";
}
HandlerMethod参数的注解 @RequestParam()
public String userAdd(@RequestParam(value="name1") String name,String sex,String[] hobbies,int age) {
System.out.println("name:"+name);
System.out.println("sex:"+sex);
System.out.println("hobbies:"+hobbies);
System.out.println("age:"+age);
return "success";
}
请求参数为对象名.属性的方式(推荐)
这里在上面讲过属性名前两个字母绝对不能大写,必须给每个属性加上对应的get set方法 格式也不能自定义
jsp
@RequestMapping("userAdd.do")
public String userAdd(User user) {
System.out.println(user.toSring);
return "success";
}
当然也还有我们的restful风格传值方式
详情点击
@RequestMapping("userAll.do/{page}/{count1}")
public ModelAndView userLidt(@PathVariable int page,@PathVariable(value="count1") String count) {
System.out.print("page:"+page,"count:"+count);
return mva;
}