美文网首页
Controller类接收表单传来的参数

Controller类接收表单传来的参数

作者: 暮雨随风 | 来源:发表于2016-10-25 23:45 被阅读0次

方式一、直接在方法形参中接收参数(形式参数名要和表单中的 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";

}

相关文章

网友评论

      本文标题:Controller类接收表单传来的参数

      本文链接:https://www.haomeiwen.com/subject/rpkduttx.html