方式一、直接在方法形参中接收参数(形式参数名要和表单中的 name 属性值保持一致,即和 url 后面跟的参数名保持一致)
@RequestMapping("/addUser")
publicString addUser(String username,String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return"userInfo";
}
如果想要在跳转后的页面 userInfo 中获得 username 和 password 参数。,可以在方法 addUser 的形参中加入一个 Map 类型参数,然后将信息存储到 map 中。在跳转后的页面通过 ${map键值 } 就可以获取存入的参数信息了。${name },${password }(保证页面支持 EL 表达式)。如:
@RequestMapping("/addUser")
publicString addUser(String username,String password,Map map) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
map.put("name",username);
map.put("password",password);
return"userInfo";
}
方式二、通过 HttpServletRequest 对象接收表单参数(在方法中传入 HttpServletRequest 对象,用request 对象获取请求信息中的参数)
(MVC的 Handle 方法可以接收的 servlet参数,HttpServletRequest,HttpServletResponse,HttpSession,java.security.Principal,Local,InpuStream,OutputStream,Reader,Writer)
@RequestMapping("/addUser")
public String addUser(HttpServletRequest request) {
String userName = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return"userInfo";
}
方式三、通过 Pojo (一个普通的Java对象)来接收参数(需要有一个 model 类与表单中的信息对应,如 model 中有一个user 类,有 id,username,password,address 等属性,其中 address 是另一个 model 类,二者级联。表单中有 name,password,city,province 等属性,则可以传入一个 User 类型的参数)。
这时想在跳转后的页面显示请求中的参数信息,可以通过 ${user.username },${user.password } 的形式访问(保证页面支持 EL 表达式)。
请求界面表格:注意关联属性
<form action="/testPojo" method="get" >
用户名:<input type="text" name="name"></br>
年龄:<input type="text" name="age"></br>
城市:<input type="text" name="address.city"></br>
省份:<input type="text" name="address.province"></br>
</form>
public class User {
private int id;
private String name;
private int age;
private String city;
private String province;
...}
public class Address {
private int id;
private String city;
private String province;
...}
@RequestMapping("/testPojo")
public String testPojo(User user){
System.out.println(user.toString());
return "success";
}