2017-10-18 9 views
0

si un utilisateur visite mon site peut voir mon site dans différentes langues, donc j'avais choisi 3 langues anglais, français, tagalog.by en utilisant l'internationalisation du printemps, j'avais codé, mais quand je clique sur le français ou le tagalog Le programme est compilé et exécuté sans aucune erreur mais la langue n'est pas changée en français et en tagalog respectivement. si des informations sont requises, je suis prêt à fournir.comment utiliser l'internationalisation en utilisant le printemps?

project view

messages_en.properties

student.title=Student List 
student.id=Student ID 
student.firstname=First name 
student.lastname=Last name 
student.year=Year 

messages_fr.properties

student.title=Liste des étudiants 
student.id=carte d'étudiant 
student.firstname=prénom 
student.lastname=nom de famille 
student.yearLevel=Niveau année 

messages_tl.properties
student.title=Listahan ng mga Magaaral 
student.id=Numero ng magaaral 
student.firstname=Pangalan 
student.lastname=Apelyido 
student.yearLevel=Antas 

ressort servlet.xml

<!-- Spring Internationalizations --> 
    <bean id="messageSource" 
     class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
     <property name="basename" value="classpath:messages" /> 
     <property name="defaultEncoding" value="UTF-8" /> 
    </bean> 

    <bean id="localeResolver" 
     class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> 
     <property name="defaultLocale" value="en" /> 
    </bean> 

    <bean id="localeChangeInterceptor" 
     class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
     <property name="paramName" value="language" /> 
    </bean> 

    <bean id="handlerMapping" 
     class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> 
     <property name="interceptors"> 
      <ref bean="localeChangeInterceptor" /> 
     </property> 
    </bean> 

student.jsp

<title>Student Management</title> 
</head> 
<body> 
Language: <a href="./?language=en">English</a> | <a href="./?language=tl">Tagalog</a> | <a href="./?language=fr">French</a> 
<h1><spring:message code="student.title" /></h1> 
<form:form action="student.do" method="POST" commandName="student"> 
    <table> 
     <tr> 
      <td><spring:message code="student.id" /></td> 
      <td><form:input path="studentid" /></td> 
     </tr> 
     <tr> 
      <td><spring:message code="student.firstname" /></td> 
      <td><form:input path="firstname" /></td> 
     </tr> 
     <tr> 
      <td><spring:message code="student.lastname" /></td> 
      <td><form:input path="lastname" /></td> 
     </tr> 
     <tr> 
      <td><spring:message code="student.year" /></td> 
      <td><form:input path="year" /></td> 
     </tr> 
     <tr> 
      <td>Date</td> 
      <td><div class="col-md-12"> 
       <input type="date" class="def-input" placeholder="Your Date of Birth!"> 

       </div> 
      </td> 
     </tr> 

     <tr> 
      <td colspan="2"> 
       <input type="submit" name="action" value="Add" /> 
       <input type="submit" name="action" value="Edit" /> 
       <input type="submit" name="action" value="Delete" /> 
       <input type="submit" name="action" value="Search" /> 
      </td> 
     </tr> 
    </table> 
</form:form> 
<br> 
<table border="1"> 
    <th><spring:message code="student.id" /></th> 
    <th><spring:message code="student.firstname" /></th> 
    <th><spring:message code="student.lastname" /></th> 
    <th><spring:message code="student.year" /></th> 
    <c:forEach items="${studentlist}" var="student"> 
     <tr> 
      <td>${student.studentid}</td> 
      <td>${student.firstname}</td> 
      <td>${student.lastname}</td> 
      <td>${student.year}</td> 
     </tr> 
    </c:forEach> 
</table> 

Répondre

0

Essayez de changer le paramètre DefaultLocale avec une autre valeur ("fr" par exemple) pour vérifier si elle travaux.

Si cela ne fonctionne pas, puis vérifiez votre structure de dossiers et vérifier que dans cette ligne: <property name="basename" value="classpath:messages" />

le lien classpath au bon endroit parce que le ressort servlet.xml doit atteindre les fichiers messages.properties afin de fonctionner correctement .

+0

Je fournis le chemin de l'espace de travail InternBridge \ com \ internbridge \ resources. avec dans le dossier de ressources .properties fichiers sont présents. Demandez-vous ceci ou quelque chose d'autre. –

+0

Oui, ce que je cherche ... alors essayez de créer un dossier de messages dans les ressources et remplacer value = "classpath: messages" par valeur = "classpath: messages/messages" – Skykaza

+0

j'avais édité la réponse, s'il vous plaît une fois cliquez sur le lien projet-vue sur le dessus, dans ce, sous la ressource que je crée des messages nommés de dossier normal, mais il est créé en vue de paquet, pourquoi cela se produit ?. J'avais gardé des fichiers .properties dedans, ça ne fonctionnait pas. s'il vous plaît, aidez-moi. –