首頁 >Java >java教程 >如何在 Spring MVC 中將複雜物件綁定為 GET @RequestParam?

如何在 Spring MVC 中將複雜物件綁定為 GET @RequestParam?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-20 15:48:13845瀏覽

How Can I Bind a Complex Object as a GET @RequestParam in Spring MVC?

Spring MVC:將復雜對象綁定為GET @RequestParam

問題:

考慮一個您有一個頁面列出表中的物件的場景。您需要新增一個表單來使用發送到類似於以下URL 的Ajax GET 請求來過濾表:

http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z

您希望綁定整個控制器方法,而不是在控制器方法上使用大量@RequestParam參數直接過濾物件。

範例:

假設您有一個 MyObject類別定義為:

public class MyObject {
    private String prop1;
    private String prop2;
    private String prop3;

    // Getters and setters
    // ...
}

您理想的控制器方法如下所示:

@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    MyObject myObject)

解決方案:

Spring提供了將複雜物件綁定為@RequestParam參數的功能。要實現此目的,只需從方法參數中刪除 @RequestParam 註解即可:

@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    MyObject myObject)

Spring 會自動將請求參數綁定到您的 MyObject 實例。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn