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
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 // ... }
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)
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)
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!