首頁 > Java > java教程 > 主體

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

Mary-Kate Olsen
發布: 2024-11-20 15:48:13
原創
744 人瀏覽過

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中文網其他相關文章!

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