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)对象类型的,在方法参数中定义对象,与对象属性名一致的数据,会自动封装进对象。
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)对象中的数组和集合可以接收与集合属性同名的多个请求数据
5)对象中的对象。 前台指定name 时,属性.属性
6)将数据封装到map中。在方法中定义HashMap参数,并在前面添加@RequestParam注解
7)封装到对象中的map,前台指定name为 map属性名[key值]。