티스토리 뷰

☠️ Java

JSTL(Java Standard Tag Library)-다국어

James Wetzel 2024. 8. 27. 19:16
728x90
반응형

사전 정보

이클립스(Eclipse) 버전

Version: 2024-06 (4.32.0)
Build id: 20240606-1231

해당 버전의 이클립스(Eclipse)에서 "*.properties" 파일에 한글을 입력하면 자동으로 "아스키 코드"를 반환해 준다.

 

 

다국어 리소스 번들 파일 생성

member.properties(기본 언어)

mem.name=\uC815\uD6C8
mem.address=\uC778\uCC9C\uAD11\uC5ED\uC2DC \uBD80\uD3C9\uAD6C
mem.job=\uAC1C\uBC1C\uC790

member_ko.properties(한국어)

mem.name=\uC815\uD6C8
mem.address=\uC778\uCC9C\uAD11\uC5ED\uC2DC \uBD80\uD3C9\uAD6C
mem.job=\uAC1C\uBC1C\uC790

member_en.properties(영어)

mem.name=jeong hun
mem.address=Inchen BuPeng Gu
mem.job=programmer

 

 

*.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    isELIgnored="false"
    import="java.util.*"%>
    
<!--  다국어 태그 라이브러리 선언 -->
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 
 <%
    String localeParam = request.getParameter("locale");
    Locale locale = Locale.of("ko", "KR");

    if (localeParam != null) {
        String[] parts = localeParam.split("_");
        locale = Locale.of(parts[0], parts[1]);
    } else {
        locale = Locale.of("ko", "KR");
    }
%>
 <fmt:setLocale value="<%= locale %>" />
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL 다국어 기능</title>
<script>
    function changeLocale(locale) {
        window.location.href = '?locale=' + locale;
    }
</script>
</head>
<body>
	<p>locale = <%= locale %></p>
 	<button onclick="changeLocale('en_US')">🇺🇸English</button>
    <button onclick="changeLocale('ko_KR')">🇰🇷Korean</button>
    <br>
    <fmt:bundle basename="jspJSTL.resource.member">
		<h1><fmt:message key="mem.name" /></h1>
	</fmt:bundle>
</body>
</html>

 

 

추가 정보

 

추가 정보

error: javax/servlet/jsp/tagext/TagLibraryValidator

 

error: javax/servlet/jsp/tagext/TagLibraryValidator

에러 메세지java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator 원인Tomcat(톰캣)에서 런타임시 "javax/servlet/jsp/tagext/TagLibraryValidator" 클래스를 찾지 못해서 그런것 같다. 체크 사항Java Versionj

jangjeonghun.tistory.com

 

JSTL(Java Standard Tag Library)

 

JSTL(Java Standard Tag Library)

JSTL(Java Standard Tag Library)커스텀 태그 중 가장 많이 사용되는 태그를 표준화하여 라이브러리로 제공합니다. 필수 파일 추가WEB-INF -> bin 폴더에 다운로드 받은 4개의 .jar 파일을 추가합니다.https:/

jangjeonghun.tistory.com

JSTL(Java Standard Tag Library)-Core

 

JSTL(Java Standard Tag Library)-Core

기능태그설명변수 지원  흐름 제어    URL 처리   기타 태그     dataList = new ArrayList(); dataList.add("hello"); dataList.add("world"); dataList.add("정훈입니다.");%> " /> 값 출력 id = ${ id } contextPath = ${ contex

jangjeonghun.tistory.com

 

728x90
반응형