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!