SpringMVC中请求参数的绑定

1、请求参数的绑定说明

1.绑定机制:SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的

2.要求:提交表单的name属性与控制器方法的参数名称相同。

2、支持的数据类型

1.基本数据类型和字符串类型

2.JavaBean

3.集合数据类型

例1:绑定字符串类型

前端from表单中的"username"和"password"与控制器中的方法参数名称一致!

 1 //---------------前端------------------
 2 <form action="user/login" method="get">
 3    用户名: <input type="txt" name="username">
 4    密  码: <input type="txt" name="password">
 5     <input type="submit" value="提交">
 6 </form>
 7  8 //---------------控制器------------------
 9 public String login(String username,String password){
10     System.out.println(
11             "用户名:"+username+"  密码:"+password
12     );
13     return "success";
14 }
例2、绑定JavaBean类型

要求:前端from表单中的name值与控制器中的bean对象的属性名称一致!

 1 //---------------javaBean------------------
 2 public class user {
 3     private String name;
 4     private String password;
 5 }
 6  7 //---------------前端------------------
 8 <form action="user/login" method="get">
 9    用户名: <input type="txt" name="name">
10    密  码: <input type="txt" name="password">
11     <input type="submit" value="提交">
12 </form>
13     
14 //---------------控制器------------------
15 public String login(user newuser){
16     System.out.println(
17             "用户名:"+username+"  密码:"+password
18     );
19     return "success";
20 }
例3、绑定JavaBean类型(JavaBean中存在另一个JavaBean的引用)

前端中的name值需要使用 引用到的对象名.属性 的形式进行绑定。

 1 //---------------javaBean(存在对user的引用)------------------
 2 public class Account {
 3     private String name;
 4     private String money;
 5     private user  newuser;
 6 }
 7 //---------------前端------------------
 8 <form action="user/adduser" method="post"  >
 9     账户名称: <input type="text" name="name"><br>
10     账户金额: <input type="text" name="money"><br>
11     用户名:<input type="text" name="newuser.name"><br>
12     用户密码:<input type="text" name="newuser.password"><br>
13     <input type="submit" value="提交">
14 </form>
15 //---------------控制器------------------
16     @RequestMapping("/adduser")
17     public String adduser(Account account){
18 19         System.out.println(account);
20         return "success";
21     }
22
例4、绑定集合类型(List和Map)

List类型前端的name属性使用list[0].name格式、Map类型使用map['one'].name的格式

 1 //---------------JavaBean------------------
 2 public class Account {
 3     private String name;
 4     private String money;
 5     private List<user> list;//演示绑定集合类型
 6     private Map<String ,user> map;//演示绑定集合类型
 7 }
 8 //---------------前端------------------
 9 <%--测试绑定集合类型--%>
10 <form action="user/adduser" method="post"  >
11 账户名称: <input type="text" name="name"><br>
12 账户金额: <input type="text" name="money"><br>
13 <%--绑定到List集合中去    --%>
14 用户昵称:<input type="text" name="list[0].name"><br>
15 用户密码:<input type="text" name="list[0].password"><br>
16 <%--绑定到Map集合中去--%>
17 用户昵称:<input type="text" name="map['one'].name"><br>
18 用户密码:<input type="text" name="map['one'].password"><br>
19 <input type="submit" value="提交">
20 </form>
21 22 //---------------控制器------------------
23  @RequestMapping("/adduser")
24     public String adduser(Account account){
25 26         System.out.println(account);
27         return "success";
28     }
 

猜你喜欢

转载自www.cnblogs.com/lijie-helloworld/p/12460565.html