Spring MVC - 2 参数传递

接收参数的方式
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
    + "]";
 }
 
 
}
 
posted @ 2015-09-30 16:51  hitz&x  阅读(166)  评论(0编辑  收藏  举报