Saat menggunakan SpringMVC, Anda sering menghadapi konversi antara string tanggal dalam formulir dan tipe tanggal JavaBean, sementara SpringMVC tidak mendukung konversi dalam format ini secara default, sehingga Anda perlu mengonfigurasi secara manual dan menyesuaikan pengikatan data untuk menyelesaikan masalah ini.
Gunakan Annotation SpringMVC @Initbinder dan kelas webdatebinder Spring untuk beroperasi dalam pengontrol yang memerlukan konversi tanggal.
WebDatabinder digunakan untuk mengikat parameter permintaan ke editor properti yang ditentukan. Karena nilai yang diteruskan ke pengontrol di latar depan adalah jenis string, ketika set nilai dalam model, jika properti set adalah objek, pegas akan menemukan editor yang sesuai untuk konversi, dan kemudian mengaturnya.
Kodenya adalah sebagai berikut:
@Initbinder public void initbinder (WebDatabinder Binder) {SimpleDateFormat DateFormat = new SimpleDateFormat ("yyyy-mm-dd"); dateFormat.setLenient (false); binder.registercustomeditor (date.class, customDateEditor baru (dateFormat, true)); }Perlu menambahkan file konfigurasi di springmvc
<!-Parser Registration-> <bean> <properti name = "messageConVerters"> <cist> <ref bean = "StringHttpMessageConverter"/> </list> </propert> </ bean> <!-string type parser, memungkinkan pengembalian langsung string --- <bean iD = "stringhttm, resristper," stringhttm, string, "stringhttm,> <bean iD =" string,> <bean iD = "string,> <bean iD =" String
Perubahan penulisan
<mvc: anotasi-driven> <mvc: pesan-converters> <bean> <konstruktor-arg value = "utf-8"/> </bean> </mvc: converters pesan> </mvc: digerakkan anotasi>
memperluas:
Spring MVC akan mendaftarkan editor ini sebelum mengikat formulir. Spring sendiri menyediakan sejumlah besar kelas implementasi, seperti CustomDateEditor, CustomBooleanEditor, CustomNumberEditor, dll., Yang pada dasarnya cukup.
Hubungi metode RegisterCustomeditor dari WebDatabinder saat menggunakan
Kode Sumber Registercustomeditor:
public void registerCustomEditor (kelas <?> DiperlukaneType, PropertyEditor PropertyEditor) {getPropertyEditorRegistry (). RegisterCustomEditor (wajib, PropertyEditor);} Parameter pertama yang dibutuhkan Type adalah jenis yang perlu dikonversi.
Parameter kedua PropertyEditor adalah editor properti, yang merupakan antarmuka. Contoh -contoh yang disebutkan di atas seperti CustomDateEditor, semua mewarisi kelas Upaya Propertyitors yang mengimplementasikan antarmuka ini.
Kami juga tidak dapat menggunakan kelas editor ini yang menyertainya.
Kita bisa membangun diri kita sendiri:
Impor org.springframework.beans.propertyeditors.propertiesEditor; kelas publik ganda memperluas propertyeditorsupport {@Override public void setastext (string tex } setValue (double.parsedouble (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.