首頁 > Java > java教程 > 主體

如何在 Spring MVC 中從 GET 請求參數綁定複雜物件?

DDD
發布: 2024-11-21 10:23:10
原創
265 人瀏覽過

How Can I Bind Complex Objects from GET Request Parameters in Spring MVC?

在Spring MVC 中從GET @RequestParam 解析複雜物件

考慮一個場景,您需要在查詢的頁面中實作篩選器表單一張桌子。過濾條件透過GET 請求提交給控制器操作,通常格式為:http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z.

To處理這種情況,Spring MVC 通常要求您定義一個帶有多個@RequestParam參數的控制器方法來單獨檢索每個屬性:

@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    @RequestParam(value = "prop1", required = false) String prop1,
    @RequestParam(value = "prop2", required = false) String prop2,
    @RequestParam(value = "prop3", required = false) String prop3) { ... }
登入後複製

假設您已經定義了具有屬性 prop1、prop2 和 prop3 的 MyObject 類別。為了簡化參數處理,您可能想要將所有請求屬性直接綁定到 MyObject 的實例。

@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    MyObject myObject) { ... }
登入後複製
登入後複製

可以實現複雜物件的綁定嗎?

是的,可以使用 Spring MVC 將請求參數綁定到複雜物件。

如何綁定到複雜物件物件

要實現此綁定,只需從物件參數中刪除@RequestParam註解即可:

@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    MyObject myObject) { ... }
登入後複製
登入後複製

透過此修改,Spring MVC將自動將請求參數值綁定到MyObject 實例的相應屬性。

以上是如何在 Spring MVC 中從 GET 請求參數綁定複雜物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板