Controller类接收表单传来的参数

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

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • SpringMVC学习笔记---- 一、SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导...
    ITsupuerlady阅读 3,145评论 1 34
  • 人生匆匆而过 感叹流年似水 少了些许思念 常把曾经怀念 携一份云淡风轻 行走在烟雨红尘中 守着一份淡然 悠然前行 ...
    胡杨公主阅读 294评论 8 9
  • 原先我对于这话还不大有感慨,最近忽然觉得此言很有道理。自打我决定日更以来,除却特别忙的时候,基本上每天都要写一定的...
    化浊阅读 361评论 0 0