Im vorherigen Artikel habe ich die detaillierte Erklärung des IOC von Spring Learning Notes 1 eingeführt und versucht, Anmerkungen und Java -Code so weit wie möglich zu verwenden. Anschließend konzentriert sich dieser Artikel auf die Einführung der Formularüberprüfung und des Uploads von Spring Learning Notes 2. Weitere Informationen finden Sie in diesem Artikel!
1. Formulardatenüberprüfung
Bei der Registrierung müssen Benutzer ihr Konto, ihr Passwort, ihre E -Mail- und Handynummer ausfüllen, die erforderlich sind und bestimmte Formate erfüllen müssen. Beispielsweise muss das Konto weniger als 32 Ziffern betragen, die E -Mail muss das E -Mail -Format erfüllen und die Mobiltelefonnummer muss eine 11 -stellige Nummer usw. sein. Schauen wir uns an, wie Sie die Formulardatenüberprüfung durch einfache Anmerkungen in SpringMVC implementieren.
Im Rahmen des Pakets von Javax.Validation.Constraints werden mehrere Anmerkungen definiert. Zum Beispiel:
@Notnull: Der Wert des kommentierten Elements darf nicht null sein. Hinweis: Wenn Sie keine Daten im Formular ausfüllen, bedeutet dies nicht, dass es sich um NULL handelt, sondern eine leere Zeichenfolge.
@Size: Das kommentierte Element muss eine Zeichenfolge, Sammlung oder ein Array sein, und die Länge muss den angegebenen Bereich erfüllen.
@Past: Der Wert des kommentierten Elements muss eine vergangene Zeit sein.
@Digits: Das kommentierte Element muss eine Zahl sein, und sein Wert muss eine bestimmte Anzahl von Ziffern haben.
@Pattern: Der Wert des kommentierten Elements muss mit dem gegebenen regulären Ausdruck übereinstimmen
Darüber hinaus werden im Paket org.hiNNATE.Validator.Constraints mehr Annotationen definiert. Zum Beispiel:
@Email: Übereinstimmung mit E -Mail -Format.
@Url: Passen Sie das URL -Format an.
Schauen wir uns an, wie Sie es in SpringMVC verwenden können.
1. Laden Sie zuerst die erforderliche in der Datei pom.xml
<Depepentcy> <GroupId> javax.validation </GroupId> <artifactID> Validierungs-api </artifactId> <version> 1.1.0.finale </Version> </abhängig> <Deichung> <GroupId> org.hibernate </Groupid> <artifactId> hibernate-validator </artifnt </artifact> <Valid> </artifact> <Valid.
Es ist zu beachten, dass Javax.Validation nur die Verifizierungs -API definiert, und die Implementierung der API muss hinzugefügt werden, wie z. B. org.hibernate.validator, sonst wird ein Fehler gemeldet.
2. Fügen Sie den Eigenschaften der Klasse Anmerkungen hinzu und nehmen Sie als Beispiel User.java.
Benutzer im öffentlichen Klassen implementiert serialisierbar {@size (min = 32, max = 32, message = "uUid sollte ein 32-Bit-String") private String-ID; @size (min = 1, max = 32, Message = "Die Kontolänge sollte zwischen 1-32-Bit") privat String userername; @notempy (Message = "-Kennbuch") sein. leer ")@E -Mail (Message =" E -Mail kann nicht leer sein ") private Zeichenfolge E -Mail; @size (min = 11, max = 11, Message =" Die Länge der Mobiltelefonnummer beträgt 11 Ziffern ") Private String -Handy;} Meldung: Wenn die Formulardatenüberprüfung fehlschlägt, kann eine Fehlermeldung angezeigt werden.
3. Wenden Sie die Überprüfungsfunktion im UserController an und fügen Sie die @Valid -Annotation hinzu.
Nehmen Sie UserController.java als Beispiel:
@Controller@RequestMapping ("/user") öffentliche Klasse UserController {private userservice userservice; @autowiredPublic UserController (UserService UserService) {this.userService = UserService;}@RequestMapping (Value = "/Register", methods@ -@-Post). Benutzerobjekt wendet die Überprüfungsfunktion an, wenn (Fehler.haserrors ()) {// Wenn die Form des Formulars fehlschlägt, kehren Sie zur Registrierungsseite zurück. Date (). 4. Schreiben Sie eine JSP -Datei und zeigen Sie die Seite an, wobei Register.jsp als Beispiel:
<%@ page contentType = "text/html; charset = utf-8" Sprache = "java"%> <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix = "sf" Uri = "http://www.springframework.org/tags/form" %> < %@ page Session >/head> <body> <sf: form methode = "post" action = "/register/user/register" commandname = "user"> <%-Wenn Formdatenüberprüfung fehlschlägt, wird die Fehlermeldung angezeigt-%> <sf: fehlers path = "*" element = "div" csssclass = "fehler"/> <br/<table Align = "Center"> <tr. </td><td><sf:input path="username" cssErrorClass="errors"/></td><tr><td>Password: </td><td><sf:password path="password" cssErrorClass="errors"/></td></tr><tr><td>Email: </td><td><sf:input Path = "E -Mail" csserrorclass = "Fehler"/> </td> </tr> <tr> <td> Handy: </td> <td> <sf: input path = "Handy" csserrorclass = "fehler value = "register"/> </sf: Form> </body> </html>
Der endgültige Effekt ist wie folgt:
2. Datei -Upload
Im Frühjahr ist das Hochladen von Dateien einfach und geht nur 3 Schritte aus.
1. Wenn das DispartCherServlet den AbstractAnnotationConfigDispatcherServletInitializer konfiguriert, überlasten Sie die Methode Customizeregistration (), um die spezifischen Details des Multiparts zu konfigurieren.
@OverrideProtected void Customizeregistration (ServletRetRegistration.Dynamische Registrierung) {// Begrenzen Sie die hochgeladene Dateigröße auf nicht mehr als 2 MB, die gesamte Anfrage überschreitet nicht 4 m, und alle hochgeladenen Dateien müssen in die Festplattenregistrierung geschrieben werden. 0));} 2. Konfigurieren Sie den mehrteiligen Parser.
// Konfigurieren Sie MultiPart -Resolver @BeanPublic Multipartresolver multipartresolver () löscht IOException {RETCORE NEUE STANDARDSVLETMULTIPARTRESOLVER ();} zurück A. Verfahren zur mehrteiligen Anfrage. Informationen wie Dateien, die von Benutzern hochgeladen wurden, können Sie das Byte [] -Array darstellen, um es darzustellen. Es wird jedoch empfohlen, dass die von Spring bereitgestellte MultipartFile -Schnittstelle empfohlen wird. Es bietet mehr Funktionen, z. B. den Dateinamen, die Dateigröße, den Dateityp usw. abrufen.
@RequestMapping(value = "/{username}", method = RequestMethod.POST)public String showUserInfo(@RequestPart("icon") MultipartFile icon) throws IOException {icon.transferTo(new File("/Users/pingping/Projects/IdeaProjects/spring/register/src/main/webapp/uploads/" + icon.getoriginalFileName ())); zurück "user";} Methode für TransferTo (Dateidestell): Schreiben Sie Dateien in das System.
Schreiben Sie einen Seitentest, um festzustellen, ob die Datei im angegebenen Dateiverzeichnis erfolgreich hochgeladen wurde.
<form method = "post" engType = "MultiPart/Form-Data"> <label> Avatar-Bild hochladen?
1. Referenzen: Frühlingspraktikum (4. Ausgabe).
2. GitHub Adresse: https://github.com/everseeker0307/register.
Das obige ist die Formulardatenüberprüfung und Datei -Upload -Beispielcode von Spring Learning Notes 2, die Ihnen vom Editor vorgelegt wurden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!