Bonjour,
Je d�bute en Spring MVC et j'ai besoin de votre coup de main pour l'internationalisation.
J'essaie de cr�er une simple page de login en fran�ais et en anglais avec une seule jsp qui doit afficher les informations r�cup�r�es soit dans le fichier 'messages_en', soit dans 'messages_fr' en fonction de langue par d�faut du navigateur.
Ces 2 fichiers sont dans 'WEB-INF/classes'.
Dans 'applicationContexte.xml', j'initialise le bean 'messageSource'
Voici mon mapping dans 'nomduservlet-servlet.xml'
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <list> <value>messages</value> </list> </property> </bean>
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 <bean name="loginForm" class="org.springframework.web.servlet.mvc.SimpleFormController"> <property name="formView" value="loginForm"/> <property name="successView" value="loginSuccess"/> <property name="commandName" value="userLogin"/> <property name="commandClass" value="org.deep.spring.mvc.user.User"/> </bean>Je n'ai pas cr�� de Controller dans mon projet, j'utilise simplement 'SimpleFormController'.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="loginForm.htm">loginForm</prop> </props> </property> </bean>
Voici une partie du code dans 'loginForm.jsp'
et le r�pertoire contenant les fichiers properties
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 <%@ include file="/WEB-INF/include.jsp" %> <html> <head><title><spring:message code="user.login.title"/></title></head> <body> <hr> <h2><center><spring:message code="user.login.title.body" /></center></h2> <form:form action="loginForm.htm" method="POST" commandName="userLogin"> ...
WEB-INF
|
---classes
|__ messages_en.properties|__messages_fr.properties
En gros, ce que ce fais actuellement, c'est de r�cup�rer les valeurs de ces fichiers directement dans la jsp avec
en fonction de la langue du navigateur.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3spring:message code="user.login.title.body" ...
mais �a ne marche pas. Si j'utilise fran�ais comme langue du navigator, y il a un plantage
Je vous assure que code 'user.login.title.body' est bien pr�sent dans messages_fr.properties
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/loginForm.jsp at line 6 3: <head><title><spring:message code="user.login.title"/></title></head> 4: <body> 5: <hr> 6: < <h2><center><spring:message code="user.login.title.body" /></center></h2> 7: <form:form action="loginForm.htm" method="POST" commandName="userLogin"> 8: <table align="center"> 9: <tr> Cause mère: javax.servlet.ServletException: javax.servlet.jsp.JspTagException: No message found under code 'user.login.title.body' for locale 'fr'.
et si je change de langue (du navigateur) en anglais. Pas de plantage mais les infos sont affich�es en fran�ais.
D'o� peut venir ce comportement?
Est-ce que c'est possible de r�cup�rer les le contenu du fichier .properties directement dans la jsp (sans passer par un bean impl�mentant Controller et r�cup�rant le context de l'application)?
Merci d'avance de vos r�ponses.
Partager