Rumah > Java > javaTutorial > teks badan

Bagaimanakah Saya Boleh Mengikat Objek Kompleks sebagai GET @RequestParam dalam Spring MVC?

Mary-Kate Olsen
Lepaskan: 2024-11-20 15:48:13
asal
744 orang telah melayarinya

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

MVC Musim Bunga: Mengikat Objek Kompleks sebagai GET @RequestParam

Masalah:

Pertimbangkan senario di mana anda mempunyai halaman menyenaraikan objek daripada jadual. Anda perlu menambah borang untuk menapis jadual menggunakan permintaan Ajax GET yang dihantar ke URL yang serupa dengan:

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

Daripada menggunakan banyak parameter @RequestParam pada kaedah pengawal, anda ingin mengikat keseluruhan penapis objek secara langsung.

Contoh:

Dengan andaian anda mempunyai kelas MyObject ditakrifkan sebagai:

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

    // Getters and setters
    // ...
}
Salin selepas log masuk

Kaedah pengawal ideal anda akan kelihatan seperti ini:

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

Penyelesaian:

Spring menyediakan keupayaan untuk mengikat objek kompleks sebagai parameter @RequestParam. Untuk mencapai matlamat ini, cuma alih keluar anotasi @RequestParam daripada hujah kaedah anda:

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

Spring akan mengikat parameter permintaan secara automatik pada contoh MyObject anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengikat Objek Kompleks sebagai GET @RequestParam dalam Spring MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan