首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Spring MVC 接收頁面表單 List 數據的兩種解決方案

     編輯:Java 相關知識

問題場景

批量新增/更新時,Controller 直接接收 List<User> users 會報錯,無法自動綁定。

方案一:前端序列化為 JSON,後端手動解析

表單提交前用 JS 將數據序列化為 JSON 字符串發送,Controller 接收 String 或 Map,再用 JSON 庫(如 Fastjson/Jackson)反序列化為 List<User>。

方案二:包裝類模型綁定(推薦)

1. 定義包裝類

public class UserModel {
    private List<User> users;
    // getter/setter
}

2. Controller 參數改為包裝類

@Controller
@RequestMapping("/")
public class UserController {
    @RequestMapping("/user")
    public void test(UserModel userModel) {
        logger.debug(JSONArray.toJSON(userModel));
    }
}

3. 頁面表單名稱遵循 屬性名[索引].字段 規約

用戶名:
密碼:
用戶名:
密碼:

效果驗證

控制台正確打印包含兩個 User 對象的 UserModel JSON,問題完美解決。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved