


Einführung in SpringMVC-Typkonvertierungs- und Verifizierungsmethoden (mit Code)
Sep 28, 2018 pm 03:54 PMDieser Artikel bietet Ihnen eine Einführung in die Typkonvertierungs- und überprüfungsmethoden von SpringMVC (mit Code). Ich hoffe, dass er für Freunde hilfreich ist.
Spring MVC-Datenbindungsprozess:
SpringMvc übergibt das ServletRequest-Objekt und die formale Parameterinstanz der Zielmethode zur Erstellung an die WebDataBinderFactory-Instanz ein DataBinder-Instanzobjekt. DataBinder ruft die im SpringMvc-Kontext zusammengestellte ConversionService-Komponente auf, um Typkonvertierung und Datenformatierung durchzuführen, und füllt die Servlet-Anforderungsinformationen in das formale Parameterobjekt. Rufen Sie den Validator-Prim?rschlüssel auf, um die Gültigkeit der ausgew?hlten Daten des formalen Parameterobjekts zu überprüfen, das an die Anforderungsinformationen gebunden wurde, und generieren Sie schlie?lich das BindingData-Objekt für das Datenbindungsergebnis. SpringMVC extrahiert das formale Parameterobjekt und das überprüfungsfehlerobjekt in BindingResult und weist sie den entsprechenden Parametern der Verarbeitungsmethode zu
Aus dem Quellcode k?nnen wir ersehen, dass das DataBinder-Objekt über WebDataBinderFactory erstellt wird
Benutzerdefinierter Typkonverter
Wenn wir auf besondere Anl?sse sto?en, müssen wir m?glicherweise unseren eigenen Typkonverter definieren. Lassen Sie mich einen benutzerdefinierten Typkonverter erkl?ren, der eine Zeichenfolge in ein emp-Objekt konvertiert. Wenn die Seite die Datenbindung oder Typkonvertierung nicht abschlie?en kann, l?st springmvc eine Ausnahme aus. Die Ausnahmeinformationen k?nnen mit BindingResult abgerufen werden.
Spring definiert drei Arten von Konverterschnittstellen, die sie implementieren, kann in ConversionServiceFactoryBean als benutzerdefinierter Konverter registriert werden.
Convertre: S-Typ in T-Typ konvertieren.
ConverterFactory: Kapselt mehrere ?homogene“ Konverter derselben Klasse zusammen. Wenn Sie einen Typ in einen anderen Typ und Unterklassenobjekte (z. B. String in Number in eine Unterklasse von Number ) konvertieren m?chten, k?nnen Sie dies verwenden Konverter
GenericConverter: Er w?hlt die Typkonvertierung basierend auf den Kontextinformationen in der Hostklasse aus, in der sich das Quellklassenobjekt und das Zielklassenobjekt befinden.
package com.spring.mvc.controller; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; @Component public class UserConverter implements Converter<String, User>{ @Override public User convert(String source) { System.out.println(source); String users [] = source.split("-"); User user = new User(); user.setUno(Integer.valueOf(users[0])); user.setUsername(users[1]); user.setUserpass(users[2]); return user; } }
ConversionService ist die Kernschnittstelle des Typkonverters in SpringMVC. Um einen benutzerdefinierten Typkonverter hinzuzufügen, müssen Sie diese Schnittstelle implementieren/ConversionServiceFactoryBean verwenden, um den ersten ConversionService im IOC-Container von Spring zu erstellen und ihn im Bean zu konfigurieren Eigenschaften Für die Implementierungsklasse des Typkonverters wird der Typkonverter automatisch aufgerufen, wenn SpringMvc die formale Parameterbindung der Methode übernimmt.
<!--將非mapping配置下的請(qǐng)求交給默認(rèn)的Servlet來處理 --> <mvc:default-servlet-handler /> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <ref bean="userConverter" /> </set> </property> </bean> <!-- 注冊(cè)類型轉(zhuǎn)換器 --> <mvc:annotation-driven conversion-service="conversionService" />
In der tats?chlichen Entwicklung muss au?erdem Folgendes konfiguriert werden:
Datenformatierung
Eingabe-/Ausgabeformatierung von Attributen, Im Wesentlichen geh?rt es immer noch zur Kategorie der Typkonvertierung. Spring definiert eine FarmattingConversionService-Implementierungsklasse, die die ConversionService-Schnittstelle im Formatierungsmodul implementiert. Diese Implementierungsklasse erweitert GenericConversionService und verfügt daher über Typkonvertierungs- und Formatierungsfunktionen. FormattingConversionService verfügt über eine FormattingConversionServiceFactoryBean-Factory-Klasse, die zum Erstellen ersterer verwendet wird. Wir m?chten dies registrieren
<mvc:annotation-driven conversion-service="FormattingConversionServiceFactoryBean" />
JSR303
jsr303 ist das von Java bereitgestellte Standard-Framework für die überprüfung der Bean-Daten. Es wurde in JavaEE6.0 aufgenommen und JSR303 bestanden Markieren Sie die Bean-Attribute mit Standarddaten wie @NotNull und @Max, um Validierungsregeln anzugeben, und verifizieren Sie das Bean über die markierte Verifizierungsschnittstelle.
@NotEmpty @NotNull private String name; @NotNull @NotEmpty private String age; @NotNull @NotEmpty @Email private String email;
Wir verwenden das von SpringMVC an der Rezeption bereitgestellte Form-Tag und verwenden den Pfad ?Form: Fehler“, um das Attribut
@RequestMapping(value="/student",method=RequestMethod.POST) public String add(@Valid()Student student,BindingResult result){ if (!result.hasErrors()) {//判斷是否有格式轉(zhuǎn)換錯(cuò)誤或者其他校驗(yàn)沒通過 userService.addStudent(student); return "redirect:list"; }else return "addPage"; }
Internationalisierung der SpringMvc-Eingabeaufforderungsnachricht< zu binden ??>
<!-- 注冊(cè)國際化信息,必須有id,指定資源文件名稱,資源文件在src目錄下 --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="message"></property> </bean>
Das obige ist der detaillierte Inhalt vonEinführung in SpringMVC-Typkonvertierungs- und Verifizierungsmethoden (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SpringBoot und SpringMVC sind beide h?ufig verwendete Frameworks in der Java-Entwicklung, es gibt jedoch einige offensichtliche Unterschiede zwischen ihnen. In diesem Artikel werden die Funktionen und Verwendungsm?glichkeiten dieser beiden Frameworks untersucht und ihre Unterschiede verglichen. Lassen Sie uns zun?chst etwas über SpringBoot lernen. SpringBoot wurde vom Pivotal-Team entwickelt, um die Erstellung und Bereitstellung von Anwendungen auf Basis des Spring-Frameworks zu vereinfachen. Es bietet eine schnelle und einfache M?glichkeit, eigenst?ndige, ausführbare Dateien zu erstellen

Was ist der Unterschied zwischen SpringBoot und SpringMVC? SpringBoot und SpringMVC sind zwei sehr beliebte Java-Entwicklungsframeworks zum Erstellen von Webanwendungen. Obwohl sie h?ufig separat verwendet werden, sind die Unterschiede zwischen ihnen offensichtlich. Zun?chst einmal kann SpringBoot als Erweiterung oder erweiterte Version des Spring-Frameworks betrachtet werden. Es soll den Initialisierungs- und Konfigurationsprozess von Spring-Anwendungen vereinfachen und Entwicklern helfen

Der Unterschied zwischen Spring und SpringMVC: 1. Positionierung und Funktionen; 3. Anwendungsfelder; Detaillierte Einführung: 1. Positionierung und Funktionen. Spring ist ein umfassendes Anwendungsentwicklungs-Framework, das Abh?ngigkeitsinjektion, aspektorientierte Programmierung, Transaktionsverwaltung und andere Funktionen bietet. Es soll die Entwicklung von Anwendungen auf Unternehmensebene vereinfachen Ein darin enthaltenes Modul wird für die Entwicklung von Webanwendungen verwendet und implementiert das MVC-Muster 2. Kernfunktionen und so weiter.

SpringBoot und SpringMVC sind zwei Frameworks, die h?ufig in der Java-Entwicklung verwendet werden. Sie werden beide vom Spring-Framework bereitgestellt, weisen jedoch einige Unterschiede in Funktionen und Verwendung auf. In diesem Artikel werden die Merkmale und Unterschiede von SpringBoot bzw. SpringMVC vorgestellt. 1. Funktionen von SpringBoot: Vereinfachte Konfiguration: SpringBoot vereinfacht den Projektkonfigurationsprozess erheblich durch das Prinzip der Konvention vor der Konfiguration. Es kann die für das Projekt und die Entwickler erforderlichen Parameter automatisch konfigurieren

Die Unterschiede zwischen Springboot und SpringMVC sind: 1. Unterschiedliche Konfigurationen; bereitgestellte Funktion; 8. Verschiedene Funktionen; 9. Unterschiedliche Community- und Dokumentationsunterstützung; 10. Ob Bereitstellungsdeskriptoren erforderlich sind.

Die Rolle des Interceptors von SpringMVC ?hnelt dem Filter in der Servlet-Entwicklung, der zur Vor- und Nachbearbeitung des Prozessors verwendet wird. Abfangj?ger werden in einer bestimmten Reihenfolge zu einer Kette verbunden, und diese Kette wird als Abfangkette (InterceptorChain) bezeichnet. Wenn auf eine abgefangene Methode oder ein abgefangenes Feld zugegriffen wird, werden die Interceptoren in der Interceptor-Kette in der Reihenfolge aufgerufen, in der sie zuvor definiert wurden. Abfangj?ger sind auch die konkrete Umsetzung von AOP-Ideen. Der Unterschied zwischen Interceptoren und Filtern: Filter (Filter) Der Verwendungsbereich von Interceptor (Intercepter) ist Teil der Servlet-Spezifikation und kann von jedem JavaWeb-Projekt verwendet werden

Analyse der ?hnlichkeiten und Unterschiede zwischen SpringBoot und SpringMVC SpringBoot und SpringMVC sind sehr wichtige Entwicklungsframeworks im Java-Bereich. Obwohl beide Teil des Spring-Frameworks sind, gibt es einige offensichtliche Unterschiede in der Verwendung und Funktionalit?t. In diesem Artikel werden SpringBoot und SpringMVC verglichen und die ?hnlichkeiten und Unterschiede zwischen ihnen analysiert. Lassen Sie uns zun?chst etwas über SpringBoot lernen. SpringBo

Mit der Entwicklung des Internets werden Webdienste immer h?ufiger eingesetzt. Als Anwendungsprogrammierschnittstelle bringt JavaAPI st?ndig neue Versionen auf den Markt, um sich an unterschiedliche Anwendungsszenarien anzupassen. Als beliebtes Open-Source-Framework kann SpringMVC uns dabei helfen, auf einfache Weise Webanwendungen zu erstellen. In diesem Artikel wird ausführlich erl?utert, wie SpringMVC für die Webdienstverarbeitung in der JavaAPI-Entwicklung verwendet wird, einschlie?lich der Konfiguration von SpringMVC, dem Schreiben von Controllern und der Verwendung
