Contoh Pemrosesan Formulir MVC Spring Contoh berikut menggambarkan cara menulis aplikasi berbasis web sederhana yang menggunakan formulir HTML menggunakan kerangka kerja MVC Web Spring.
Konstruksi Proyek Uji
(1) Buat proyek web Java baru dan perkenalkan beberapa paket JAR yang diperlukan untuk proyek SpringMVC. Struktur proyek dan paket toples yang diperlukan adalah sebagai berikut:
①Web.xml:
<web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-sstance" XSI: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" Versi "3.1"> <ping-papp_3_1.xsd "3.1> <servlet-class> org.springframework.web.servlet.dispatcherServlet </servlet-class> <boad-in-startup> 1 </boad-on-startup> </servlet> <servlet-Mapping> <Servlet-Mapping> <servlet-name> SpringMvc </servlet-name> <roull-mattern>*. <filter-name> characterencodingFilter </filter-name> <nift-class> org.springframework.web.filter.characterencodingfilter </filter-class> <Ilin-param> <param-name> encoding </param-name> <param-value> UTF-8 </Param-Value> </init-param> <param-value> UTF-8 </Param-Value> </Param-Param> <param-value> </init-param> </init/uTF-8 </value> </init-param> <param-value> </init-param> </init/uTF-8 </value> </value> <param--value> <param--value> </Param-par <filter-name> characterencodingFilter </tiler-name> <RURL-PATERS>/*</RURL-PATERS> </TERFERTER-MAPPING> </web-App>
Berikut ini adalah akhiran URL yang mencegat springmvc yang diakhiri dengan .html dan memprosesnya
②springmvc-servlet.xml:
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http://www.springframework.org/schema/mvc" xsi: schemalocation = "http:BaMaM.MFC" xsi: schemalocation = "http:B http://www.springframework.org/schema/beans/spring-weans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/www.spramework.org/schema/context http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <konteks: komponen-scan basis-poket =" cn.zifangskky. * <!-Aktifkan anotasi yang ditentukan dalam kacang-> <mvc: anotasi-didorong/> <bean> <name properti = "prefix" value = "/web-inf/pages/"/> <name properti = "sufiks" value = "jsp"/> </bean> </bean>
Dalam file konfigurasi di atas, <konteks: annotation-config /> mengaktifkan beberapa anotasi yang ditentukan dalam kacang, sedangkan <mvc: anotasi-driven /> mengaktifkan beberapa konfigurasi default untuk springmvc. Di akhir file konfigurasi, korespondensi antara tampilan logis dan tampilan aktual didefinisikan. Singkatnya, awalan jalur dan akhiran yang ditentukan di atas diberikan pada tampilan logis yang dikembalikan. Ini adalah jalan nyata menuju tampilan yang sebenarnya.
2. Gunakan springmvc untuk memproses formulir formulir
(1) Sebelum memulai secara resmi, buat kelas model dan enumerasi:
① Pengguna entitas:
Paket cn.zifangsky.model; import java.time.localDate; impor org.springframework.format.annotation.dateTimeformat; pengguna kelas publik {nama string pribadi; kata sandi string pribadi; pekerjaan string pribadi; @DateTimEFormat (POLA = "YYYY-MM-DD") Tanggal Lokal Pribadi; jenis kelamin jenis kelamin pribadi; negara string pribadi; merokok boolean pribadi; public string getName () {return name; } public void setName (name string) {this.name = name; } public string getPassword () {return kata sandi; } public void setPassword (kata sandi string) {this.password = kata sandi; } public String getjob () {return job; } public void setjob (string job) {this.job = job; } public localdate getBIrthDate () {return borndate; } public void setBirthDate (LocalDate BirthDate) {this.birthDate = BirthDate; } getgender gender publik () {return gender; } public void setGender (jenis kelamin gender) {this.gender = gender; } public string getCountry () {return country; } public void setCountry (string country) {this.country = country; } public boolean issmoking () {return rokok; } public void setsmoking (boolean rokok) {this.smoking = merokok; }} ② Jenis kelamin kelas enumerasi yang mewakili "jenis kelamin":
paket cn.zifangsky.model; Jenis kelamin enum publik {pria, wanita;} Berikut ini akan menjelaskan secara singkat formulir pemrosesan Formulir SpringMVC sesuai dengan proses eksekusi program, yaitu Formulir Formulir Pengisian> Pengendali Pengontrol> Halaman View Hasil Pemrosesan>
(2) Halaman Formulir Beranda dan Formulir dari Proyek Uji:
①HOME Page Index.jsp:
<% response.sendredirect ("form.html"); %>Dapat dilihat bahwa beranda kami di sini sangat sederhana, yaitu untuk mengarahkan ke "Form.html", tetapi melalui konfigurasi kami sebelumnya di Web.xml, SpringMVC akan mentransfer permintaan ini ke pengontrol tertentu untuk diproses, tentu saja, langsung ke halaman formulir formulir. Logika pemrosesan spesifik dalam pengontrol akan dibahas di bawah ini
②Fform Page UserForm.jsp:
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/tags/form" prefix = "mvc"%> "htplam> <pough> <pead> head htt> <pead> <pead> MetA> META/MetA" html <pon> "htper>" htper> "htper>" htper> Content = "Teks/html; charset = utf-8"> <itement> Formulir Formulir MVC Musim Semi </itement> </head> <hody> <h2> Pendaftaran Pengguna </h2> <mvc: Form ModelAttribute = "User" Action = "hasil. <td> <mvc: input path = "name"/> </td> </tr> <tr> <td> <mvc: label path = "password"> kata sandi: </mvc: label> </td> <td> <mvc: kata sandi = "kata sandi"/> </td> </tr> <td> <td> path = "job"> kerja: </mvc: label> </td> <td> <mvc: textArea path = "job"/> </td> </tr> <tr> <td> <mvc: label path = "lahir"> ulang tahun = "label" </td "</td" </td "</td" <td> <mvc: label path = "gender"> jenis kelamin: </mvc: label> </td> <td> <mvc: RadioButtons path = "gender" item = "$ {gender}"/> </td> </tr> <tr> <td> <mvc: label label = "country" </tr> <t> <td> <mvc: label label = "country" <td> <mvc: pilih path = "country" items = "$ {country}"/> </td> </tr> <tr> <td> <mvc: label path = "smoking"> apakah Anda merokok ?: </mvc "/label </t/td </td </td </td </td> <Mvc: checkbox path =" smoking " colspan = "2"> <input type = "kirim" value = "kirim"/> </td> </tr> </tr> </able> </mvc: Form> </body> </html> Karena kami meletakkan halaman ini di direktori web-INF, kami tidak dapat mengakses file ini secara langsung melalui URL. "Form.html" yang ditentukan di atas harus ditransfer ke pengontrol untuk diproses dan ditampilkan halaman tampilan ini. Tujuan dari ini adalah untuk mencegah beberapa halaman pribadi diakses oleh orang lain tanpa otorisasi. Dalam file di atas, penting untuk dicatat:
(3) Kelas Pengontrol Usercontroller.java untuk pemrosesan logika bisnis:
paket cn.zifangsky.controller; Impor org.springframework.stereotype.controller; impor org.springframework.web.bind.annotation.modelattribute; impor org.springframework.web.bind.annotation.requestmapping; ImporForF; CKNIF.SPRINDFRAMEWork.web.servlet cn.zifangsky.model.user; @ControllerPublic kelas UserController {Private Static Final String [] Negara = {"Cina", "Jepang", "Korea Utara", "Amerika Serikat"}; @RequestMapping (value = "/form.html") Public ModelAndView User () {ModelAndView ModelAndView = new ModelAndView ("UserForm"); modelAndView.addObject ("user", pengguna baru ()); modelAndView.addObject ("gender", gender.values ()); modelAndView.addObject ("negara", negara); return modelandview; } @RequestMapping (value = "/result.html") Public ModelAndView ProcessUser (@ModelAttribute (value = "User") User u) {ModelAndView ModelAndView = new ModelAndView ("userResult"); modelAndView.addObject ("u", u); return modelandview; }} Dapat dilihat bahwa dua metode didefinisikan di atas, dan fungsinya adalah untuk ditransfer ke formulir nyata untuk permintaan "Form.html" dan untuk menangani formulir formulir. Saat memproses formulir, saya menerima jenis pengguna "U" melalui anotasi @Modelattribute, yang merupakan bentuk bentuk yang diisi terlebih dahulu, dan berikut ini adalah tampilan formulir, jadi saya tidak akan mengatakan banyak
(4) Tes:
①Fill dalam bentuk:
② Hasilnya menunjukkan:
UserRresult.jsp halaman:
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/tags/form" prefix = "mvc"%> <! doctmework.org/tags "prefix =" MVC "%> <! 4.01 Transisi // en "" http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv = "title" content "content =" heading/html; Results</h2> <table> <ttr> <td>Name:</td> <td>${u.name}</td> </tr> <tr> <td>Password:</td> <td>${u.password}</td> </tr> <tr> <td>Work:</td> <td>${u.job}</td> </tr> <tr> <td>Birthday:</td> <td>${u.birthDate}</td> </tr> <tr> <td>Gender:</td> <td>${u.gender}</td> </tr> <tr> <td>Residence:</td> <td>${u.country}</td> </tr> <tr> <td> merokok: </td> <td> $ {u.smoking} </td> </tr> </tr> </able> </body> </html>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.