Springmvc获取前台请求数据过程解析

2020-07-01 18:00 来源:易采站长站 作者:于丽 点击: 评论:

A-A+

原标题:Springmvc获取前台请求数据过程解析

1)基本数据类型或String,在方法参数中定义参数,参数名与请求传递数据名一致即可自动封装;

// RequestMapping:指定方法对应的请求地址
  //return:页面地址,表示方法执行完成之后跳转到对应的页面(转发)
  //springmvc:接收请求参数,直接在方法的参数中定义名称与传递参数名一致的形参即可
  //name:会自动接收请求传递的name值
  @RequestMapping("/hello")
  public String hello(String name,Integer age){
    System.out.println("name:"+name+",age:"+age);
    return "index.jsp";
  }

启动tomcat,在浏览器地址栏输入

http://localhost:8086/hello?name=tom&age=18

即可查看结果;

2)对象类型的,在方法参数中定义对象,与对象属性名一致的数据,会自动封装进对象;

public class User {

  private Integer id;
private String name;
private Integer age;
private String sex;
private String addr;
}

并对其get和set,再写一个form表单提交信息的jsp页面;

<form action="/saveUser" method="post">
用户名:<input type="text" name="name"/><br/>
年龄:<input type="text" name="age"/><br/>
性别:<input type="radio" name="sex" value="男"/>男
<input type="radio" name="sex" value="女">女<br/>
地址:<input type="text" name="addr"><br/>
<input type="submit" value="注册"/>
</form>

再在controller中测试结果;

    @RequestMapping("/saveUser")
    public String saveUser(User user){
       System.out.println("User:"+user);
       return "index.jsp";
    }

3)接收数组的情况。在方法中定义数组;

4)对象中的数组和集合可以接收与集合属性同名的多个请求数据;

  //通过对象来接收前台的多个同名数据,两种方式,一种是数组,一种是List集合;
  //private String[] hobbies;
   private List<String> hobbies;
  public String[] getHobbies() {
    return hobbies;
  }

  public void setHobbies(String[] hobbies) {
    this.hobbies = hobbies;
  }

  public List<String> getHobbies() {
    return hobbies;
  }

  public void setHobbies(List<String> hobbies) {
    this.hobbies = hobbies;
  }

jsp页面中添加爱好属性:

爱好: <input type="checkbox" name="hobbies" value="打篮球"/>打篮球
<input type="checkbox" name="hobbies" value="打游戏"/>打游戏
<input type="checkbox" name="hobbies" value="敲代码"/>敲代码
<input type="checkbox" name="hobbies" value="学习"/>学习<br/>

再在controller中测试结果;

@RequestMapping("/saveUser")
  public String saveAdmin(User user, String[] hobbies){
    System.out.println("user:"+user);
    System.out.println(Arrays.toString(hobbies));
    return "index.jsp";
  }

【易采站长站编辑:秋军】