接收参数的方式
1,将HttpServletRequest request作为函数参数传入
2,传入参数名,类型自己指定,它会自动转换,只要参数名称能够匹配
但是值与类型
String name,Integer name,会自动转换成int型,但是必须能够转换。
3,如果要加入其它类型对象,不能转换的,可以用类型属性编辑器适配
@InitBinder
public void initBinder(ServletRequestDataBinder binder)
{
binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"))) ;
}
4接收实体类
//传递参数的名字必须与实体类的set方法的后面的字符串匹配的上才能接受参数。
顺序可以改变,见例二
请求中转入的参数,只要能和参数列表里面的变量名,或者实体里面set后面的字符串匹配的到,就能接收
也可以传入数组,name=zhangsan&name=lisi&name=aa
参数为 String name[]
事例程序:
package cn.itcast.springmvc;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller //用来标注当前类是springmvc的控制层类
@RequestMapping("/test")//给类添加了控制注解,给该Controller添加了命名空间
public class TestController
{
@RequestMapping("/hello.do")//用来访问控制层方法的注释
public String hello()
{
return "jsp1/index";
}
@RequestMapping("/toPersion.do")
public String toPersion(HttpServletRequest request)
{
String result = request.getParameter("name");
System.out.println(result);
return "jsp1/index";
}
}
例二
package cn.itcast.springmvc;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import model.Persion;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller //用来标注当前类是springmvc的控制层类
@RequestMapping("/test")//给类添加了控制注解,给该Controller添加了命名空间
public class TestController
{
@RequestMapping("/hello.do")//用来访问控制层方法的注释
public String hello()
{
return "jsp1/index";
}
@RequestMapping("/toPersion.do")
public String toPersion(String name,Date bir)
{
System.out.println(name+"---"+bir);
return "jsp1/index";
}
@RequestMapping("/sion.do")
//传递参数的名字必须与实体类的set方法的后面的字符串匹配的上才能接受参数。
public String toPersion2(Persion persion)
{
System.out.println(persion);
return "jsp1/index";
}
}
Persion
package model;
public class Persion {
private String name;
private int age;
private String adress;
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;
}
public String getAdress() {
return adress;
}
public void setAdress(String adress) {
this.adress = adress;
}
@Override
public String toString() {
return "Persion [adress=" + adress + ", age=" + age + ", name=" + name
+ "]";
}
}