[JAVA] Mon mémorandum que je veux faire ValidationMessages.properties UTF8 dans Spring Boot

introduction

Lors de la validation avec Spring Boot, le message d'erreur par défaut est l'anglais. image.png

Meinotto Bienputi. Perapera.

Je crée une application pour les Japonais, donc je veux la rendre japonaise. La japonaisisation elle-même est possible en créant un fichier appelé ValidationMessages.properties et en définissant des messages d'erreur, mais le fichier de propriétés nécessite une conversion Unicode, il ne peut donc pas être lu en direct.

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

Il existe également une méthode à prendre en charge avec un plug-in spécifique à l'IDE, mais cette fois, j'ai essayé une méthode pour accepter UTF8 du côté Spring Boot.

Au fait, ValidationMessages.properties écrit en UTF8 peut être lu par l'éditeur, mais lorsqu'il est affiché à l'écran, la partie japonaise est déformée comme ça. image.png

Postscript À propos de la différence selon la version

Ci-dessous, j'ai reçu des commentaires sur les différences entre les versions de Spring Boot, je vais donc les capturer!

Spring Boot 2.1

Avec Spring Boot 2.1, il était possible de convertir en UTF-8 sans rien faire de spécial. La version JDK doit être 11.

Spring Boot 1.5.3

Je l'ai essayé avec Spring Boot 1.5.3, mais il semble qu'une erreur se produise lors de la substitution de public Validator getValidator (). (Le contenu de l'erreur est le même que celui affiché dans l'URL de référence) Si j'ai défini le bean de mvcValidator à la place, cela a fonctionné!

Merci à tous ceux qui m'ont appris: bow_tone1:

Ce que j'ai fait

Remplacez getValidator de WebMvcConfigurerAdapter. C'était juste.

WebMvcConfig.java

WebMvcConfig.java


public class WebMvcConfig extends WebMvcConfigurerAdapter {

	/*・ ・ ・ Omettre les paramètres non liés ・ ・ ・*/

	/**
	 *Message de validation UTF-Laisser être réglé avec 8
	 */
	@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();
		//Vous pouvez également modifier le nom et le répertoire du fichier de propriétés
		messageSource.setBasename("classpath:/ValidationMessages");
		//UTF-Régler sur 8
 		messageSource.setDefaultEncoding("UTF-8");
		return messageSource;
	}

}

ValidationMessages.properties

ValidationMessages.properties


org.hibernate.validator.constraints.NotEmpty.message=Entrez s'il vous plait.

Je peux le lire. Vous pouvez le lire.

résultat

image.png

Hyahoi: détendu:

référence

Spring Framework Documentation

fin

Recommended Posts

Mon mémorandum que je veux faire ValidationMessages.properties UTF8 dans Spring Boot
[Java Spring MVC] Je souhaite utiliser DI dans ma propre classe
Je souhaite contrôler la taille de fichier maximale pour le téléchargement de fichiers pour chaque URL dans Spring Boot
Ce que j'ai fait lors de la migration de la série Spring Boot 1.4 vers la série 2.0
Ce que j'ai fait lors de la migration de la série Spring Boot 1.5 vers la série 2.0
Je veux contrôler le message d'erreur par défaut de Spring Boot
[Spring Boot] Je veux ajouter mon propre fichier de propriétés et obtenir la valeur avec env.getProperty ().
Je veux connaître la méthode du contrôleur où l'exception a été levée dans le ExceptionHandler de Spring Boot
Je veux créer une application ios.android
Mémorandum de téléchargement de fichier local avec Spring Boot
Je veux utiliser @Autowired dans Servlet
"Professeur, je souhaite implémenter une fonction de connexion au printemps" ① Hello World
Je souhaite envoyer un e-mail en Java.
Comment réduire l'image de Spring Boot Docker
Je souhaite transmettre APP_HOME pour me connecter à Gradle
Je voulais que (a == 1 && a == 2 && a == 3) vrai en Java
rsync4j --Je veux toucher rsync en Java.
Lorsque vous souhaitez notifier une erreur quelque part lors de l'utilisation de graphql-spring-boot avec Spring Boot
Comment se lier avec un fichier de propriétés dans Spring Boot
Je veux être finalement même à kotlin
Je voulais classer la botte à ressort dans un multi-projet
Spring Boot Rappelez-vous
Faisons une application TODO avec Java 2 Je veux créer un modèle avec Spring Initializr et créer Hello world
Je veux obtenir la valeur en Ruby
Notez que j'étais accro au traitement par lots avec Spring Boot
Un site facile à comprendre lorsque j'ai commencé à apprendre Spring Boot
Je veux ESLint dans le projet Maven. Je veux exécuter Node.js sans le mettre dans mon environnement.
Je souhaite utiliser PowerMock dans une classe qui combine des tests paramétrés et des tests ordinaires
Je souhaite également utiliser Combine dans UIKit.
Je veux faire quelque chose comme "cls" en Java
Je veux intégrer n'importe quel TraceId dans le journal
Exécution asynchrone des requêtes examinée dans Spring Boot 1.5.9
Si vous souhaitez séparer le traitement Spring Boot + Thymeleaf
Un mémorandum de dépendance à Spring Boot2 x Doma2
05. J'ai essayé de supprimer la source de Spring Boot
Comment créer un projet Spring Boot dans IntelliJ
Je veux utiliser une petite icône dans Rails
J'ai essayé de réduire la capacité de Spring Boot
Spring Boot Ce que les débutants ont tendance à avoir (@ComponentScan)
J'ai essayé de créer une fonction de connexion avec Java
Je souhaite définir une fonction dans la console Rails
Comment utiliser CommandLineRunner dans Spring Batch of Spring Boot
Je veux arrêter les cas de serpent avec des définitions de table
Présentez swagger-ui à l'API REST implémentée dans Spring Boot
Je veux cliquer sur une broche GoogleMap dans RSpec
Je veux FlashAttribute au printemps même si j'ai défini un proxy inverse! (ne pas faire)
J'ai essayé de faire une demande en 3 mois d'inexpérimenté
Comment modifier la valeur de paramètre de application.properties au moment du démarrage dans Spring Boot
Ce que j'ai corrigé lors de la mise à jour vers Spring Boot 1.5.12 ・ Ce à quoi j'étais accro
Je souhaite effectuer une factorisation prime rapide avec Ruby (ABC177E)
Je souhaite créer un modèle spécifique d'ActiveRecord ReadOnly
J'ai essayé de vérifier ceci et celui de Spring @ Transactional
Je voulais juste créer une propriété réactive en Java
Exemple d'application Web qui gère plusieurs bases de données avec Spring Boot 1.5
Comment appeler et utiliser l'API en Java (Spring Boot)
Je veux mettre le JDK sur mon PC Mac
J'ai créé un client RESAS-API en Java