zoukankan      html  css  js  c++  java
  • 将前端请求中的数据绑定到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;
        }
    }
  • 相关阅读:
    <<Rust程序设计语言>>个人版(4: 所有权)
    《逻辑学入门》笔记(45-66)
    《逻辑学入门》笔记(23-44)
    <<Rust程序设计语言>>个人版(3.3: 函数/3.4: 注释/3.5: 控制流)
    <<Rust程序设计语言>>个人版(1: 入门/2: 编写猜谜游戏)
    网站如何保护用户的密码
    在 Gin 项目中使用 WebSocket
    《逻辑学入门》笔记(1-22)
    浅谈双重认证逻辑
    某大型网络安全活动中遇到的钓鱼邮件
  • 原文地址:https://www.cnblogs.com/YeHuan/p/11681014.html
Copyright © 2011-2022 走看看