[JAVA] Mein Memorandum, dass ich ValidationMessages.properties UTF8 in Spring Boot erstellen möchte

Einführung

Bei der Validierung mit Spring Boot lautet die Standardfehlermeldung Englisch. image.png

Meinotto Bienputi. Perapera.

Ich mache eine App für Japaner, also möchte ich sie japanisch machen. Die Japanisierung selbst ist möglich, indem eine Datei mit dem Namen ValidationMessages.properties erstellt und Fehlermeldungen definiert werden. Die Eigenschaftendatei erfordert jedoch eine Unicode-Konvertierung, sodass sie nicht live gelesen werden kann.

org.hibernate.validator.constraints.NotEmpty.message = \u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002

Es gibt auch eine Methode zur Unterstützung mit einem IDE-spezifischen Plug-In, aber dieses Mal habe ich versucht, UTF8 auf der Spring Boot-Seite zu akzeptieren.

Übrigens können in UTF8 geschriebene ValidationMessages.properties vom Editor gelesen werden, aber wenn sie auf dem Bildschirm angezeigt werden, wird der japanische Teil wie folgt verstümmelt. image.png

Nachtrag Über den Unterschied je nach Version

Unten habe ich Kommentare zu den Unterschieden zwischen Spring Boot-Versionen erhalten, daher werde ich sie erfassen!

Spring Boot 2.1

Mit Spring Boot 2.1 war es möglich, auf UTF-8 zu konvertieren, ohne etwas Besonderes zu tun. Die JDK-Version muss 11 sein.

Spring Boot 1.5.3

Ich habe es mit Spring Boot 1.5.3 versucht, aber es scheint, dass beim Überschreiben des öffentlichen Validators getValidator () ein Fehler auftritt. (Der Fehlerinhalt entspricht dem in der Referenz-URL angezeigten.) Wenn ich stattdessen die Bean von mvcValidator gesetzt habe, hat es funktioniert!

Vielen Dank an alle, die mich unterrichtet haben: bow_tone1:

Was ich getan habe

Überschreiben Sie getValidator von WebMvcConfigurerAdapter. Es war nur.

WebMvcConfig.java

WebMvcConfig.java


public class WebMvcConfig extends WebMvcConfigurerAdapter {

	/*・ ・ ・ Nicht verwandte Einstellungen weglassen ・ ・ ・*/

	/**
	 *Validierungsnachricht UTF-Mit 8 einstellen lassen
	 */
	@Override
	public Validator getValidator() {
		return validator();
	}

	@Bean
	public LocalValidatorFactoryBean validator() {
		LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
		validator.setValidationMessageSource(messageSource());
		return validator;
	}

	private MessageSource messageSource() {
		ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
		//Sie können auch den Namen und das Verzeichnis der Eigenschaftendatei ändern
		messageSource.setBasename("classpath:/ValidationMessages");
		//UTF-Auf 8 setzen
 		messageSource.setDefaultEncoding("UTF-8");
		return messageSource;
	}

}

ValidationMessages.properties

ValidationMessages.properties


org.hibernate.validator.constraints.NotEmpty.message=Bitte eingeben.

Ich kann es lesen. Du kannst es lesen.

Ergebnis

image.png

Hyahoi: entspannt:

Referenz

Spring Framework Documentation

Ende

Recommended Posts

Mein Memorandum, dass ich ValidationMessages.properties UTF8 in Spring Boot erstellen möchte
[Java Spring MVC] Ich möchte DI in meiner eigenen Klasse verwenden
Ich möchte die maximale Dateigröße für das Hochladen von Dateien für jede URL in Spring Boot steuern
Was ich bei der Migration von der Spring Boot 1.4-Serie zur 2.0-Serie getan habe
Was ich bei der Migration von der Spring Boot 1.5-Serie zur 2.0-Serie getan habe
Ich möchte die Standardfehlermeldung von Spring Boot steuern
[Spring Boot] Ich möchte meine eigene Eigenschaftendatei hinzufügen und den Wert mit env.getProperty () abrufen.
Ich möchte die Methode des Controllers kennen, bei der die Ausnahme im ExceptionHandler von Spring Boot ausgelöst wurde
Ich möchte eine ios.android App machen
Memorandum zum Herunterladen lokaler Dateien mit Spring Boot
Ich möchte @Autowired in Servlet verwenden
"Lehrer, ich möchte im Frühjahr eine Anmeldefunktion implementieren" ① Hallo Welt
Ich möchte eine E-Mail in Java senden.
So verkleinern Sie das Spring Boot Docker-Image
Ich möchte APP_HOME an Logback in Gradle übergeben
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
rsync4j - Ich möchte rsync in Java berühren.
Wenn Sie irgendwo einen Fehler melden möchten, wenn Sie graphql-spring-boot mit Spring Boot verwenden
So binden Sie mit einer Eigenschaftendatei in Spring Boot
Ich möchte irgendwann sogar in Kotlin sein
Ich wollte Spring Boot in einem Multiprojekt gradle
Spring Boot Denken Sie daran
Lassen Sie uns eine TODO-Anwendung mit Java 2 erstellen. Ich möchte eine Vorlage mit Spring Initializr erstellen und eine Hello-Welt erstellen
Ich möchte den Wert in Ruby erhalten
Beachten Sie, dass ich süchtig nach Stapelverarbeitung mit Spring Boot war
Eine Seite, die leicht zu verstehen war, als ich anfing, Spring Boot zu lernen
Ich möchte ESLint im Maven-Projekt. Ich möchte Node.js ausführen, ohne es in meine Umgebung zu stellen.
Ich möchte PowerMock in einer Klasse verwenden, die parametrisierte Tests und gewöhnliche Tests kombiniert
Ich möchte Combine auch in UIKit verwenden.
Ich möchte so etwas wie "cls" in Java machen
Ich möchte eine TraceId in das Protokoll einbetten
Untersuchte asynchrone Ausführung von Abfragen in Spring Boot 1.5.9
Wenn Sie die Spring Boot + Thymeleaf-Verarbeitung trennen möchten
Ein Memorandum über die Sucht nach Spring Boot2 x Doma2
05. Ich habe versucht, die Quelle von Spring Boot zu löschen
So erstellen Sie ein Spring Boot-Projekt in IntelliJ
Ich möchte ein kleines Symbol in Rails verwenden
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
Spring Boot Häufig für Anfänger (@ComponentScan)
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Ich möchte eine Funktion in der Rails Console definieren
Verwendung von CommandLineRunner im Spring Batch von Spring Boot
Ich möchte Schlangenfälle mit Tabellendefinitionen stoppen
Führen Sie swagger-ui in die in Spring Boot implementierte REST-API ein
Ich möchte in RSpec auf einen GoogleMap-Pin klicken
Ich möchte das Flash-Attribut im Frühjahr, auch wenn ich einen Reverse-Proxy festgelegt habe! (TU es nicht)
Ich habe versucht, innerhalb von 3 Monaten einen Antrag von unerfahren zu stellen
So ändern Sie den Einstellungswert von application.properties beim Booten im Frühjahrsstart
Was ich beim Update auf Spring Boot 1.5.12 behoben habe ・ Wovon ich süchtig war
Ich möchte mit Ruby (ABC177E) eine schnelle Primfaktorisierung durchführen.
Ich möchte ein bestimmtes Modell von ActiveRecord ReadOnly erstellen
Ich habe versucht, dies und das von Spring @ Transactional zu überprüfen
Ich wollte nur eine reaktive Eigenschaft in Java erstellen
Beispiel einer Webanwendung, die mit Spring Boot 1.5 mehrere Datenbanken verwaltet
Aufrufen und Verwenden der API in Java (Spring Boot)
Ich möchte das JDK auf meinem Mac-PC installieren
Ich habe einen RESAS-API-Client in Java erstellt