IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Message personnalisé NotEmpty avec fichier properties


Sujet :

Spring Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Analyste Concepteur SI
    Inscrit en
    Septembre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Concepteur SI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 37
    Points : 37
    Points
    37
    Par défaut Message personnalisé NotEmpty avec fichier properties
    Bonjour,

    Mon @NotEmpty(message = "{connection.message.warning.login.notempty}") n'affiche pas mon message enregistré dans mon fichier messages_fr.properties.
    Il affiche la chaîne entre guillemet c'est à dire: {connection.message.warning.login.notempty}.

    Alors que pour <spring:message code="connection.label.account"/> il le transforme bien en "Nom de compte:" dans le code JSP.

    J'aurais besoin d'un œil extérieur je ne vois pas bien d'où peut venir l'erreur.

    messages_fr.properties:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    connection.label.account=Nom de compte:
    connection.message.warning.login=Nom de compte incorrect !
    connection.message.warning.login.notempty=Veuillez saisir votre nom de compte.
    connection.message.warning.password=Mot de passe incorrect !
    connection.message.warning.password.notempty=Veuillez saisir votre mot de passe.
    ...
    ConnectionForm.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    import org.hibernate.validator.constraints.NotEmpty;
     
    public class ConnectionForm {
     
    	private Long 	id;
    	@NotEmpty(message = "{connection.message.warning.login.notempty}")
    	private String 	login = "";
    	@NotEmpty(message = "{connection.message.warning.password.notempty}")
    	private String 	password = "";
     
     
    	public Long getId() {
    		return id;
    	}
    	public void setId(Long id) {
    		this.id = id;
    	}
    	public String getLogin() {
    		return login;
    	}
    	public void setLogin(String login) {
    		this.login = login;
    	}
    	public String getPassword() {
    		return password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    connection.jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    ...
    <form:form method="get" modelAttribute="ConnectionForm" action="connexion">
        			<!-- TextBox Section -->
    		        <div class="input-group visible">
    		            <spring:message code="connection.label.account"/>
    					<form:input path="login" placeholder="Nom du compte" type="text" class="form-control" aria-describedby="basic-addon1"/>
    					<div class="alert alert-danger" role="alert"><form:errors path="login" cssclass="error"/></div>
    				</div><br />
    				<div class="input-group visible">
    					<spring:message code="connection.label.password"/> 
    		  			<form:input path="password" placeholder="Mot de passe" type="text" class="form-control" aria-describedby="basic-addon1"/><br />
    		  			<div class="alert alert-danger" role="alert"><form:errors path="password" cssclass="error"/></div>
    				</div><br />
    				<!-- TextBoxSection -->				
     
    				<!-- Button Section -->
    				<button type="submit" class="btn btn-default visible">
    					<spring:message code="connection.button.label.connect"/>
    				</button><br />
    		        <!-- Button Section -->
    	        </form:form>
    ...
    ConnectionController.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    ...
    @RequestMapping(value="/connexion", method = RequestMethod.GET)
    	public String onConnection(@Valid @ModelAttribute(value="ConnectionForm") final ConnectionForm pConnection,
    			final BindingResult pBindingResult, final ModelMap pModel)
    	{
    		if (!pBindingResult.hasErrors())
    		{
    			this.login = service.isUsers(pConnection.getLogin());
    			this.canConnect = service.canConnects(pConnection.getLogin(), pConnection.getPassword());
    		}
    		else
    			this.login = service.isUsers(pConnection.getLogin());
     
    		return display(pModel);
    	}
    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Regarde ici: LocalValidatorFactoryBean.
    Soit tu définies le messageSource, soit tu utilises un fichier ValidationMessages.properties dans ton classpath (WEB-INF/classes/) pour tes messages de validation.

    A+.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Analyste Concepteur SI
    Inscrit en
    Septembre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Concepteur SI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 37
    Points : 37
    Points
    37
    Par défaut
    Merci pour cette réponse.

    J'ai déjà définis un bean messageSource dans mon fichier WEB-INF/configuration.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <bean id="messageSource"
            class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
            <property name="basename" value="classpath:messages" />
            <property name="defaultEncoding" value="ISO-8859-1" />
    </bean>
    Si je comprend bien il faudrait que j'ajoute ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
    		<property name="validationMessageSource" ref="messageSource" />
    </bean>

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Oui.

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Analyste Concepteur SI
    Inscrit en
    Septembre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Concepteur SI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 37
    Points : 37
    Points
    37
    Par défaut
    Ça ne fonctionne toujours pas.

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Analyste Concepteur SI
    Inscrit en
    Septembre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Concepteur SI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 37
    Points : 37
    Points
    37
    Par défaut
    Bonjour et bonne année à tous


    Quelqu'un aurait-il une autre idée sur la provenance de mon problème ?

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Analyste Concepteur SI
    Inscrit en
    Septembre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Concepteur SI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 37
    Points : 37
    Points
    37
    Par défaut
    J'ai trouvé la solution !

    Il fallait bien ajoute le bean ci-dessous dans le fichier dispatcher-servlet.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
    		<property name="validationMessageSource" ref="messageSource" />
    </bean>
    Ensuite il faut séparer les champs de validation "connection.message.warning.password.notempty=Veuillez saisir votre mot de passe." et "connection.message.warning.login.notempty=Veuillez saisir votre nom de compte." du reste des messages.
    On se retrouve donc avec un fichier message_fr.properties et ValidationMessages_fr.properties.
    Nom : Sans titre.png
Affichages : 279
Taille : 3,4 Ko

    Le fichier message_fr.properties contient tous les messages basique de titre de page, corps de texte...Etc. Tandis que le fichier ValidationMessages_fr.properties contient tout les messages de validation.

    ValidationMessages_fr.properties:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    connection.message.warning.password.notempty=Veuillez saisir votre mot de passe.
    connection.message.warning.login.notempty=Veuillez saisir votre nom de compte.
    message_fr.properties:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    connection.label.account=Nom de compte:
    connection.label.password=Mot de passe:
    connection.label.forgot=Mot de passe ou nom de compte oublié ?
    connection.button.label.connect=Connexion
    connection.button.label.backward=Retour

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message Tomcat qu'un fichier .properties est manquant
    Par User Name dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 27/10/2013, 08h35
  2. Problème avec fichier .properties
    Par adrian07 dans le forum Struts 1
    Réponses: 2
    Dernier message: 20/09/2010, 13h45
  3. Select avec fichier properties et saut de ligne
    Par Hanoni dans le forum Struts 1
    Réponses: 1
    Dernier message: 20/08/2009, 15h49
  4. probleme avec fichier properties
    Par alexorcet dans le forum Langage
    Réponses: 7
    Dernier message: 26/11/2007, 08h41
  5. gestion des erreurs avec fichier .properties
    Par _momo dans le forum Struts 1
    Réponses: 2
    Dernier message: 20/08/2007, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo