Di Spring 3, saya telah melihat dua atribut berbeda dalam tag formulir di jsp
<form:form method="post" modelAttribute="login">
dalam atribut modelAttribute adalah nama objek formulir yang propertinya digunakan untuk mengisi formulir. Dan saya menggunakannya dalam memposting formulir dan dalam pengontrol saya telah digunakan @ModelAttribute
untuk menangkap nilai, memanggil validator, menerapkan logika bisnis. Semua baik-baik saja disini. Sekarang
<form:form method="post" commandName="login">
Apa yang diharapkan dari atribut ini, apakah itu juga objek formulir yang propertinya akan kita isi?
sumber
<tag-name>Tag
. Untuk nama kelas yang sepenuhnya memenuhi syarat, buka library (.jar
) yang berisi tag,spring-web
dalam kasus ini. Di bawahMETA-INF
, Anda akan menemukanspring-form.tld
. Ini akan memiliki<tag>
entri untukform
dengan<tag-class>
dariorg.springframework.web.servlet.tags.form.FormTag
.LAMA CARA = commandName
CARA BARU = modelAttribute
sumber
Saya memiliki pertanyaan yang sama beberapa waktu yang lalu, saya tidak dapat mengingat perbedaan persisnya tetapi dari penelitian saya memastikan bahwa
commandName
itu adalah cara lama untuk melakukannya dan dalam aplikasi baru yang harus Anda gunakanmodelAttribute
sumber
commandName = nama variabel dalam cakupan permintaan atau cakupan sesi yang berisi informasi tentang formulir ini, atau ini adalah model untuk tampilan ini. Tt harus menjadi.
sumber
Dalam konfigurasi berbasis xml, kita akan menggunakan kelas perintah untuk melewatkan objek antara pengontrol dan tampilan. Sekarang dalam penjelasan yang kami gunakan
modelattribute
.sumber