请求参数绑定
将前端页面数据封装传给控制器处理
绑定方式如下:
- 封装到基本数据类型中:根据页面中以key/value的形式向后台提交数据,根据key值或者表单工具中那些标签对应的name值去与处理器方法形参名进行对应注入
<!--根据形参名进行注入--> <form action="hello"> 姓名<input type="text" name="name"/><br/> 年龄<input type="text" name="age" /> <input type="submit" /> </form>
@RequestMapping(path="/hello") public String sayHello(String name,int age,Model model){ System.out.println(name+"/"+age); return "success"; }
- 封装到类:与前者相似,但是将key值/name值替换为目标类中对应的属性名(类中属性需要用setter方法),形参通过类去代替,形参名随意,setter注入根据类型进行注入
<!--根据类进行注入--> <form action="hello2"> 姓名<input type="text" name="name"/><br/> 年龄<input type="text" name="age" /> <input type="submit" /> </form>
@RequestMapping(path="/hello2") public String sayHello2(User user, Model model){ System.out.println(user); return "success"; }
package com.pojo; import java.io.Serializable; public class User implements Serializable { private String name; private int age; //此处省略getter/stter方法 }
-
封装到list/setter
<!--根据list/map进行注入--> <form action="hello3"> 姓名<input type="text" name="lu[0].name"/><br/> 年龄<input type="text" name="lu[0].age" /><br/><br/> 姓名<input type="text" name="mu['one'].name"/><br/> 年龄<input type="text" name="mu['one'].age" /><br/> <input type="submit" /> </form>
@RequestMapping(path="/hello3") public String sayHello3(Account account, Model model){ System.out.println(account); return "success"; }
public class Account implements Serializable { List<User> lu; Map<String,User> mu; //省略getter/setter }
public class User implements Serializable { private String name; private int age; //此处省略getter/stter方法 }