Dalam proyek -proyek yang menggunakan kerangka kerja SpringMVC, Anda sering menemukan data yang tipe datanya adalah tanggal, bilangan bulat, ganda, dll. Harus terikat pada entitas pengontrol, atau pengontrol perlu menerima data ini. Jika jenis tipe data ini tidak diproses, itu tidak akan terikat.
Di sini kita dapat menggunakan anotasi @Initbinder untuk menyelesaikan masalah ini, sehingga SpringMVC akan mendaftarkan editor ini sebelum mengikat formulir. Secara umum, metode ini termasuk dalam Basecontroller. Pengontrol yang perlu melakukan konversi seperti itu hanya perlu mewarisi basecontroller. Faktanya, Spring menyediakan banyak kelas implementasi, seperti customDateEditor, CustomBooleanEditor, CustomNoMereditor, dll., Yang pada dasarnya cukup.
Demo adalah sebagai berikut:
kelas publik Basecontroller {@Initbinder Protected Void InitBinder (WebDatabinder Binder) {Binder.RegisterCustomEditor (Date.class, myDateEditor baru ()); binder.registercustomeditor (double.class, ganda baru ()); binder.registercustomeditor (integer.class, integereditor baru ()); } kelas pribadi mydateEditor memperluas properti propertysupport {@Override public void setastext (Teks String) melempar ilegalArgumentException {SimpleDateFormat format = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss"); Tanggal Tanggal = NULL; coba {date = format.parse (teks); } catch (parseException e) {format = new SimpleDateFormat ("yyyy-mm-dd"); coba {date = format.parse (teks); } catch (parseException e1) {}} setValue (date); }} Kelas publik ganda memperluas PropertiesEditor {@Override public void setastext (string text) melempar IllegalArgumentException {if (text == null || text.equals ("")) {text = "0"; } setValue (double.parsedouble (teks)); } @Override public string getastext () {return getValue (). ToString (); }} Kelas Publik Integereditor Memperluas PropertiesEditor {@Override public void setastext (string text) melempar IllegalArgumentException {if (text == null || text.equals ("")) {text = "0"; } setValue (integer.parseint (teks)); } @Override public string getastext () {return getValue (). ToString (); }}}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.