Beispiele für Spring MVC-Formularverarbeitung Das folgende Beispiel zeigt, wie Sie eine einfache webbasierte Anwendung schreiben, die HTML-Formulare mithilfe des Web-MVC-Frameworks von Spring verwendet.
Ein Testprojektkonstruktion
(1) Erstellen Sie ein neues Java -Webprojekt und führen Sie mehrere JAR -Pakete ein, die für SpringMVC -Projekte erforderlich sind. Die erforderlichen Projektstruktur und JAR -Pakete sind wie folgt:
①Web.xml:
<web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" XSI: Schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaeee/web-app_3_1.xsd" Version = "3.1"> <servlet> <servlet> <servlet> <servlet> <servlet> <servlet- <Servlet-Class> org.springFramework.web.servlet.DispatcherServlet </Servlet-Class> <Load-on-Startup> 1 </load-on-Startup> </Servlet> <Servlet-Mapping> <Servlet-Mapping> <Servlet-NAME> servlet-name> <urll-patter>*. <Filter> <Filter-name> charakteritätsfilter </filter-name> <filterklasse> org.springFramework.web.filter.CharactercodingFilter </Filter-Class> <init-param> </param-name> </param-name> <param-value> utf-8 </param-value> </value> utf-8 </param-value> </value> utf-8 </param-value <Filter-Mapping> <Filter-name> charakteritätsgerichtete Filter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-App>
Hier ist ein SpringMVC -Abfangen von URL -Suffix, das mit .html endet und es verarbeitet
②springMvc-servlet.xml:
<? xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http://www.springframework.org/schema/mvc" xsi: schemalocation http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/scha http://www.springframework.org/schema/mvc http://www.springFramework.org/schema/mvc/spring-mvc-4.0.xsd "> <context: component-scan-package =" <!-Aktivieren Sie die in der Bean definierte Annotation-> <mvc: Annotationsgetrieben/> <bean> <Eigenschaft name = "prefix" value = "/web-inf/pages/"/> <Eigenschaft name = "suffix" value = ". Jsp"/> </bean> </beans> </beans>
In der obigen Konfigurationsdatei aktiviert <Context: Annotation-Config /> einige in der Bean definierte Annotationen, während <MVC: Annotationsgetrieben /> einige Standardkonfigurationen für SpringMVC aktiviert. Am Ende der Konfigurationsdatei wird die Korrespondenz zwischen der logischen Ansicht und der tatsächlichen Ansicht definiert. Mit einem Wort werden die oben definierten Pfadpräfix und Suffix der zurückgegebenen logischen Ansicht gegeben. Dies ist der wahre Weg zur tatsächlichen Ansicht.
2. Verwenden Sie SpringMVC, um Formulare zu verarbeiten
(1) Erstellen Sie vor offiziellem Start eine Modell- und Aufzählungsklasse:
① Entität Benutzer:
Paket cn.zifangsky.model; import java.time.localdate; import org.springframework.format.Annotation privates Zeichenfolgenkennwort; privater Stringjob; @DATETIMEFORMAT (muster = "yyyy-mm-dd") Private LocalDate Birthdate; privates Geschlecht des Geschlechts; privates Saitenland; privates Boolesche Rauchen; public String getName () {return name; } public void setName (String -Name) {this.name = name; } public String getPassword () {Kennwort zurückgeben; } public void setPassword (String -Passwort) {this.password = password; } public String getJob () {return Job; } public void setjob (String Job) {this.job = Job; } public localDate getBirthdate () {return birthdate; } public void setBirthdate (localDate birthDate) {this.birthdate = birthDate; } public Gender getGender () {Return Gender; } public void setGender (geschlechtsspezifisches Geschlecht) {this.maNtender = Gender; } public String getcountry () {return Country; } public void setcountry (String Country) {this.country = Country; } public boolean issmoking () {return rauchen; } public void setsmoking (boolean rauchen) {this.smoking = rauchen; }} ② Geschlecht der Aufzählungsklasse, das "Geschlecht" darstellt:
Paket cn.zifangsky.model; public enum Geschlecht {männlich, weiblich;} Im Folgenden werden kurz die Formularverarbeitung von SpringMVC entsprechend dem Programmausführungsprozess, nämlich die Vordergrundformularfüllung> Controller -Verarbeitung> Verarbeitungsergebnisansicht erläutert, kurz
(2) Seite der Homepage und Formularform des Testprojekts:
①Home Page Index.jsp:
<% response.sendredirect ("Form.html"); %>Es ist ersichtlich, dass unsere Homepage hier sehr einfach ist, nämlich "Form.html" umzuleiten, aber durch unsere vorherige Konfiguration in web.xml überträgt SpringMVC diese Anforderung an einen spezifischen Controller zur Verarbeitung. Die spezifische Verarbeitungslogik im Controller wird unten erörtert
②Form Form Page UserForm.jsp:
<%@ page Language = "Java" contentType = "text/html; charset = utf-8" pageCoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/Tags/form" prefix = mvc "%> <html> <head> http-äquiv = "content-type" content = "text/html; charset = utf-8"> <title> Spring MVC-Formular Handhabung </title> </head> <body> <h2> Benutzerregistrierung </H2> <MVC: Formmodell-ModellAttribute = "Benutzer" action = "Ergebnis. path = "name"> name: </mvc: label> </td> <td> <mvc: input path = "name"/> </td> </tr> <tr> <td> <mvc: label path = "kennwort" kennwort: </mvc: label> </td> <td> <mvc: password = password = "password ="/> </td> </tol> <mvc: password = "password ="/> </td> </tol> <mvc: password = "password ="/> </td> </tol> <mvc: password = "password ="/> </td> </tol <td><mvc:label path="job">Work:</mvc:label></td> <td><mvc:textarea path="job" /></td> </tr> <tr> <td><mvc:label path="birthDate">Birthday:</mvc:label></td> <td><mvc:input path="birthDate" /> </td> </tr> <tr> <td> <mvc: Label Path = "Geschlecht"> Geschlecht: </mvc: Label> </td> <td> <mvc: radiobuttons path = "Gender" items = "$ {genders}"/> </td> </tr> <td> <mvc: Label " Path = "Country"> Residenz: </mvc: label> </td> <td> <mvc: select path = "landes" items = "$ {Länder}"/> </td> </tr> <tr> <tr> <Td> <mvc: label path = "rauchen"> rauchen? /> </td> </tr> <tr> <td colspan = "2"> <Eingabe type = "sure" value = "sure"/> </td> </tr> </tr> </table> </mvc: Form> </body> </html> Da wir diese Seite in das Web-Inf-Verzeichnis einfügen, können wir nicht direkt über die URL auf diese Datei zugreifen. Das oben definierte "Formular.html" muss zur Verarbeitung in den Controller übertragen werden und diese Ansichtsseite angezeigt werden. Der Zweck davon ist, zu verhindern, dass einige private Seiten ohne Genehmigung von anderen zugegriffen werden. In der obigen Datei ist es wichtig zu beachten:
(3) Controller Class UserController.java für die Geschäftslogikverarbeitung:
Paket cn.zifangsky.controller; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation cn.zifangsky.model.gender; import cn.zifangsky.model.user; @ControllerPublic Class UserController {private statische endgültige String [] Länder = {"China", "Japan", "Nordkorea", "Vereinigte Staaten"}; @RequestMapping (value = "/form.html") public modelAndView user () {modelAndView modelAndView = new modelAndView ("userform"); modelAndView.addObject ("user", New User ()); modelAndView.addObject ("Geschlechter", Geschlecht.Values ()); modelAndview.addObject ("Länder", Länder); return modelAndview; } @RequestMapping (value = "/result.html") public modelAndView ProcessUser (@ModelAttribute (value = "user") Benutzer u) {modelAndView modelAndView = new modelAndView ("userresult"); modelAndView.addObject ("u", u); return modelAndview; }} Es ist ersichtlich, dass zwei Methoden oben definiert sind und ihre Funktionen in die Realformform für die Anforderung "Form.html" übertragen und das Formularformular verarbeitet werden. Bei der Verarbeitung des Formulars habe ich einen Benutzertyp "u" über die @ModelAttribute -Annotation erhalten, bei der das Formular zuerst ausgefüllt ist, und das Folgende ist die Anzeige des Formulars, sodass ich nicht viel sage
(4) Test:
①Fill in der Form:
②Die Ergebnisse zeigen:
userresult.jsp Seite:
<%@ page Language = "java" contentType = "text/html; charset = utf-8" pageCoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/Tags/form" prefix = "mvc"%> <! Html 4.01 transitional // en "" http://www.w3.org/tr/html4/loose.dtd"><Html><Head><Meta http-äquiv = "Content-type" Content = "text/html; <h2>Register 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> Rauchen: </td> <td> $ {u.smoking} </td> </tr> </tr> </table> </body> </html>Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.