ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP : Standard JSP Tag Library (JSTL) - I18N Tags (Multi-Lingual App)
    Spring 2021. 6. 18. 20:28

     

     

    international Language=> (i와 n사이에 18개의 문자로 이루어져서) I18N으로 불린다. 

     

     

     

     

     

     

    먼저 리소스 파일을 만들자

    먼저 디폴트 리소스 파일을 만든다. 

    새로운 패키지를 만들고 파일을 만들어준다. 

     

    label.greeting = Howdy
    label.firstname=First Name
    label.lastname =Last Name
    label.welcom = Welcome to the training class.

     

    이제 추가로 독일어 버전, 스페인어 버전을 넣어준다. 

    mylabels_de_DE.properties

    label.greeting = Hallo
    label.firstname=Vorname
    label.lastname =Nachname
    label.welcom = Willkomen in der Ausbildung Klasse.

     

    mylabels_es_ES.properties

    label.greeting = Hola
    label.firstname=Nombre de pila 
    label.lastname =Apellido
    label.welcom = Bienvenidos a la clase de formacion.

     

     

    i18n-messages-test.jsp

    <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri = "http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    
    
    <html>
    
    <body>
    	<fmt:message key="label.greeting"/>
    	<br/><br/>
    	
    	<fmt:message key="label.firstname"/> <i>John</i>
    	<br/><br/>
    	
    	<fmt:message key="label.lastname"/><i>Doe</i>
    	<br/><br/>
    	
    	<fmt:message key="label.welcome"/><br/>
    
    </body>
    
    </html>

     

    이제 상황에 따라서 변하도록 설정하자. 

    <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri = "http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    
    <c:set var="theLocale" value="${not empty param.theLocale? param.theLocale : pageContext.request.locale }" scope="session"/>
    
    <fmt:setLocale value="${theLocale }"/>
    
    <fmt:setBundle basename="com.yunhalee.jsp.tagdemo.i18n.resources.mylabels"/>
    
    <html>
    
    <body>
    
    <a href="i18n-messages-test.jsp?theLocale=en_US">English (US)</a>
    <a href="i18n-messages-test.jsp?theLocale=es_ES">Spanish (ES)</a>
    <a href="i18n-messages-test.jsp?theLocale=de_DE">German (DE)</a>
    
    <hr/>
    	<fmt:message key="label.greeting"/>
    	<br/><br/>
    	
    	<fmt:message key="label.firstname"/> <i>John</i>
    	<br/><br/>
    	
    	<fmt:message key="label.lastname"/> <i>Doe</i>
    	<br/><br/>
    	
    	<fmt:message key="label.welcome"/><br/>
    
    </body>
    
    </html>

     

     

    디폴트

     

    누르면 잘 변한다. 

     

     

     

     

     

     

Designed by Tistory.