1. jstl 국제화태그 사용방법

1.톰뱃 7버전 JSTL 1.2 다운로드후 설치된 톰캣폴더의 lib 또는 현재 진행중인 WEB-INF/lib 밑에 넣어준다


javax.servlet.jsp.jstl-1.2.1.jar


javax.servlet.jsp.jstl-api-1.2.1.jar



2.리소스 번들 작성후 resource 폴더에 넣기

이클립스에서는 프로젝트 소스 디렉토리에 resource패키지를 생성한 뒤 넣기

이클립스가 아니라면 WEB-INF/classes/resource에 작성


예시>xxxxxx.properties 로 저장 (번들이름_언어_국가.properties 국가코드는 생략가능하고 영어는 언어국가 둘다 안씀)


1
2
3
4
TITLE = MadVirus's Learning JSP 2.2
GREETING = HI! I'm BK
VISITOR = your ID is {0}                  // {0} 이부분은 변경가능한 요소를 제공하는 위치
 


3. 사용할 jsp 파일 상단에

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" />



4. 예제파일


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
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>    //fmt 국제화 태그 사용준비
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>   // c 코어 태그 사용준비
 
<fmt:setBundle basename="chap16.resource.message" var="message" />   <!-- 사실 var="message 는 없어도됨 없애면 밑에도 다 없애야됨  -->
<!-- var가 있으면 출력되지않고 key 값을 저장  var가 없으면 바로 출력-->
<fmt:message bundle="${message }" key="TITLE" var="title" />    
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>${title }</title>
</head>
<body>
 
<fmt:message bundle="${message }" key="GREETING" />
<br>
<c:if test="${! empty param.id }">      <!-- 파라메터가 비어있지않으면 메시지 출력 -->
    <fmt:message bundle="${message }" key="VISITOR">
        <fmt:param value="${param.id }" />
    </fmt:message>    
</c:if>
</body>
</html>

결과물은 
HI! I'm BK 
가 나옵니다

만약 주소 맨 뒤에 ?id=aaa를 넣어주면
결과물은
HI! I'm BK 
your ID is aaa

2. jstl 국제화태그 태그 사용


1.메시지 처리 태그


2.숫자 및 날짜 포맷팅 처리 태그

- <fmt:formatNumber> 태그(태그가 숫자를 문자열로 변환)

- <fmt:parseNumber> 태그(문자열을 숫자로 변환)


- <fmt:formatDate> 태그 (날짜정보를 담고있는 객체를 포맷팅하여 출력)

- <fmt:parseDate> 태그 (문자열로 표시된 날짜 및 시간의 값을 java.util.Date 로 파싱해주는 기능)

- <fmt:timeZone> 태그와 <fmt:setTimeZone>태그 (각나라마다의 시간대 별로 시간을 처리할수 있는 기능)

Posted by 앗뜨거워 ( @bok3937 ) 앗뜨거

댓글을 달아 주세요