Rumah  >  Artikel  >  Java  >  Bagaimanakah Saya Boleh Mengikat Objek Kompleks daripada Parameter Permintaan GET dalam Spring MVC?

Bagaimanakah Saya Boleh Mengikat Objek Kompleks daripada Parameter Permintaan GET dalam Spring MVC?

DDD
DDDasal
2024-11-21 10:23:10267semak imbas

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

Menghuraikan Objek Kompleks daripada GET @RequestParam dalam Spring MVC

Pertimbangkan senario di mana anda perlu melaksanakan borang penapis dalam halaman yang membuat pertanyaan sebuah meja. Kriteria penapis diserahkan kepada tindakan pengawal melalui permintaan GET, biasanya dalam format: http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z.

Kepada mengendalikan senario sedemikian, Spring MVC biasanya memerlukan anda untuk menentukan kaedah pengawal dengan berbilang parameter @RequestParam untuk mendapatkan setiap sifat secara individu:

@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) { ... }

Andaikan anda telah menentukan kelas MyObject dengan sifat prop1, prop2 dan prop3. Untuk memudahkan pengendalian parameter, anda mungkin berhasrat untuk mengikat semua sifat permintaan secara terus kepada contoh MyObject.

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

Bolehkah Mengikat kepada Objek Kompleks Dicapai?

Ya, adalah mungkin untuk mengikat parameter permintaan kepada objek kompleks menggunakan Spring MVC.

Cara Mengikat kepada Objek Kompleks

Untuk mencapai pengikatan ini, cuma alih keluar anotasi @RequestParam daripada parameter objek:

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

Dengan pengubahsuaian ini, Spring MVC secara automatik akan mengikat nilai parameter permintaan kepada sifat yang sepadan MyObject contoh.

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

Kenyataan:
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