将前端请求中的数据绑定到Spring MVC响应方法中参数的四种方法
一、映射URL绑定的占位符到方法参数
1.方法
使用@PathVariable注解
2.代码示例
a.接收请求方法
@RequestMapping(value = "/deleteInfo/{id}") public String deleteInfo(@PathVariable("id") int shopCartId) { return "删除成功"; }
b.发出请求
<a href="../shopCart/deleteInfo/1"></a>
二、绑定请求中的参数到方法参数
1.方法
使用@RequestParam注解
2.代码示例
a.接收请求方法
@RequestMapping(value = "/changeAmount") public String changeAmount(@RequestParam(value = "amount") String amount, @RequestParam(value = "shopCartId") String shopCartId) {
return "修改成功"; }
b.发出请求
<a href="../shopCart/changeAmount?amount=3&shopCartId=10"></a>
三、绑定表单对象到方法参数(实例对象)
1.方法
创建表单发送请求
2.代码示例
a.接收请求方法
@RequestMapping("/saveInfo") public String saveInfo(Book book){ return "保存成功"; }
b.发出请求
<form action="../shopCart/saveInfo" method="post"> BookName:<input type="text" name="bookName"><br> BookId:<input type="password" name="bookId"><br> sellerId:<input type="text" name="seller.sellerId"><br> sellerName:<input type="text" name="seller.sellerName"><br> <input type="submit" value="提交"> </form>
c.Book.java
public class Book{ private int bookId; private String bookName; private Seller seller; // 省略getter和setter方法 }
d.Seller.java
public class Seller{ private int sellerId; private String sellerName; // 省略getter和setter方法 }
四、绑定表单对象到方法参数(Map对象)
1.方法
创建表单发送请求
2.代码示例
a.接收请求方法
@RequestMapping("/getUser") public String getUser(UserMap uMap) { Set set=uMap.getuMap().keySet(); Iterator iterator=set.iterator(); while(iterator.hasNext()) { Object keyName=iterator.next(); User u=uMap.getuMap().get(keyName); System.out.println(u); } return "success"; }
b.发出请求
<form action="../user/getUser" method="post"> loginName1:<input type="text" name="uMap['u1'].loginName"><br> loginPwd1:<input type="password" name="uMap['u1'].loginPwd"><br> province1:<input type="text" name="uMap['u1'].address.province"><br> city1:<input type="text" name="uMap['u1'].address.city"><br> loginName2:<input type="text" name="uMap['u2'].loginName"><br> loginPwd2:<input type="password" name="uMap['u2'].loginPwd"><br> province2:<input type="text" name="uMap['u2'].address.province"><br> city2:<input type="text" name="uMap['u2'].address.city"><br> <input type="submit" value="提交"> </form>
c.UserMap.java
public class UserMap { private Map<String, User> uMap; public Map<String, User> getuMap() { return uMap; } public void setuMap(Map<String, User> uMap) { this.uMap = uMap; } }