获取参数
1、request.getParameter(“参数名”) /获取的都是String 类型
@RequestMapping(value="/value01")
public String getvalue01(HttpServletRequest request){
String stuName=request.getParameter("stuName");
String stuSex=request.getParameter("stuSex");
request.setAttribute("name",stuName);
System.out.println("stuNmae:"+stuName+"----------"+"stuSex:"+stuSex);
return "value";
}
2、直接写入方法形参中,和传参的名字、顺序一一对应,参数类型会自动转换
@RequestMapping(value="/value02")
public String getvalue02(String stuName,Integer stuId){
System.out.println("stuNmae:"+stuName+"----------"+"stuSex:"+stuId);
return "value";
}
3、获取参数直接赋值给对象
访问地址(eg: localhost:8080/mvc01/value03?stuName=张三&stuSex=男)
参数名和属性名相同
//实体类
@Data
@Repository
public class Student {
private Integer stuId;
private String stuName;
private String stuSex;
private String address;
private String phone;
@RequestMapping(value="/value03")
public String getvalue03(Student student){
System.out.println("stuNmae:"+student.getStuName()+"----------"+"stuSex:"+student.getStuSex());
return "value";
}
参数名和属性名不对应
通过@RequestParam(“参数名”),可以把形参类似于起个别名为传过来参数的名字,然后把两者匹配在一起, 就可以获得窜过来的参数的值
@RequestMapping(value="/value04")
public String getvalue04(@RequestParam("stuName") String name, @RequestParam("stuSex") String sex){
System.out.println("stuNmae:"+name+"----------"+"stuSex:"+sex);
return "value";
}
中文乱码,web.xml中配置springMVC编码过滤器,需要放在servlet之前
执行顺序:filter------>dispatcherServlet------>controller
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class