springMVC 请求参数的绑定
基本数据类型和字符串类型
(1)提交表单的name和参数的名称是相同的
(2)区分大小写
<a href="param/testParam?username=hky&pwd=123">请求参数绑定</a>
@GetMapping("/testParam")
public String testParam(String username, String pwd) {
System.out.println("执行testParam");
System.out.println("username:" + username);
System.out.println("password:" + pwd);
return "success";
}
实体类型(JavaBean)
(1)提交表单的name和JavaBean中的属性名称需要一致
(2)如果一个JavaBean类中包含其他的引用类型,那么表单的name属性需要编写成:对象.属性 例如:address.name
public class User implements Serializable {
private String uname;
private Integer age;
private Date date;
//省略get set tostring 方法
}
<form action="param/saveUser" method="post">
用户姓名:<input type="text" name="uname"/> <br/>
用户密码:<input type="text" name="age"/> <br/>
用户生日:<input type="text" name="date"/> <br/>
<input type="submit" value="提交"/><br/>
</form>
@RequestMapping("/saveUser")
public String saveUser(User user) {
System.out.println("执行saveUser");
System.out.println(user);
return "success";
}
集合属性数据封装
(1)JSP页面编写方式:list[0].属性
(2)JSP页面编写方式:map[‘one’].属性
public class Account implements Serializable {
private String username;
private String password;
private Double money;
private List<User> list;
private Map<String,User> map;
//省略 get set tostring 方法
}
<form action="param/saveAccount" method="post">
姓名:<input type="text" name="username"/> <br/>
密码:<input type="text" name="password"/> <br/>
金额:<input type="text" name="money"/> <br/>
用户姓名:<input type="text" name="list[0].uname"/> <br/>
用户年龄:<input type="text" name="list[0].age"/> <br/>
用户生日:<input type="text" name="list[0].date"/> <br/>
用户姓名:<input type="text" name="map['one'].uname"/> <br/>
用户年龄:<input type="text" name="map['one'].age"/> <br/>
<input type="submit" value="提交"/><br/>
</form>
@RequestMapping("/saveAccount")
public String saveAccount(Account account) {
System.out.println("执行saveAccount");
System.out.println(account);
return "success";
}
运行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!