2013/09/23 - [Java/Java EE] - JSP Expression Language(표현 언어 또는 익스프레션 언어)
2013/09/23 - [Java/Java EE] - JSP JSTL(JSP Standard Tag Library) 라이브러리 추가
2013/09/23 - [Java/Java EE] - JSP JSTL(JSP Standard Tag Library) - 코어 태그
1. 국제화 태그
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
- 특정 지역에 따라 알맞은 메시지를 출력할 경우에 사용한다.
기능분류 |
태그 |
설명 |
로케일 지정 |
setLocale |
Locale을 지정 |
requestEncoding |
요청 파라미터의 캐릭터 인코딩을 지정 |
|
메시지 처리 |
bundle |
사용할 번들을 지정 |
message |
지역에 알맞은 메시지를 출력 |
|
setBundle |
리소스 번들을 읽어와 특정 변수에 저장 |
|
숫자 및 날짜 포맷팅 |
formatNumber |
숫자를 포맷팅 |
formatDate |
Date 객체를 포맷팅 |
|
parseDate |
문자열로 표시된 날짜를 분석해서 Date 객체로 변환 |
|
parseNumber |
문자열로 표시된 날짜를 분석해서 숫자로 변환 |
|
setTimeZone |
시간대 정보를 특정 변수에 저장 |
|
timeZone |
시간대를 지정 |
1.1. 로케일 지정 태그
1.1.1. <fmt:setLocale> 태그
- <fmt:setLocale> : 국제화 태그들이 사용할 로케일을 지정한다.
- <fmt:setLocale value="언어코드_국가코드" scope="영역" />
- value : 언어코드_국가코드 형식으로 지정하되 언어코드는 필수이고, 국가코드는 추가지정할 수 있다. 사이에 구분은 바(-) 또는 언더바(_)로 구분한다.
- scope : 영역을 설정한다. 기본값은 page이다.
- 웹 브라우저는 Accept-Language 헤더에 수용 가능한 언어 목록을 전송한다. 이 헤더 값을 이용해서 메시지를 출력해주기 때문에 <fmt:setLocale> 태그는 거의 사용되지 않는다.
<!-- fmt_setLocale.jsp --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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=UTF-8"> <title>fmt:setLocale</title> </head> <body> <c:set var="now" value="<%= new java.util.Date() %>" /> <h1>대한민국</h1> 금액 : <fmt:formatNumber value="1000000" type="currency" /><br> 일시 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> <hr><!-- --------------------------------------------------------------------------------------- --> <h1>미국</h1> <fmt:setLocale value="en_us"/> 금액 : <fmt:formatNumber value="1000000" type="currency" /><br> 일시 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> <hr><!-- --------------------------------------------------------------------------------------- --> <h1>일본</h1> <fmt:setLocale value="ja_jp"/> 금액 : <fmt:formatNumber value="1000000" type="currency" /><br> 일시 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> <hr><!-- --------------------------------------------------------------------------------------- --> </body> </html> <!-- 실행결과 대한민국 금액 : ₩1,000,000 일시 : 2013년 9월 30일 월요일 오후 4시 22분 45초 KST --------------------------------------------------------------------------------------- 미국 금액 : $1,000,000.00 일시 : Monday, September 30, 2013 4:22:45 PM KST --------------------------------------------------------------------------------------- 일본 금액 : ¥1,000,000 일시 : 2013年9月30日 16時22分45秒 KST -->
1.1.2. <fmt:requestEncoding> 태그
- <fmt:requestEncoding> : 요청 파라미터의 캐릭터 인코딩을 지정한다.
- <fmt:requestEncoding value="캐릭터셋" />
- <% request.setCharacterEncoding("캐릭터셋"); %> 코드와 동일하다.
1.2. 메시지 처리 태그
- 언어권에 따라서 알맞은 메시지를 출력할 수 있다.
1.2.1. <fmt:bundle> 태그
- 사용할 메시지 번들을 지정한다.
- <fmt:bundle basename="리소스번들명"> <fmt:message key="키명"> </fmt:bundle>
- basename : 사용할 리소스 번들 이름
- 번들 파일은 Java.util.Properties 클래스를 사용해서 읽어오기 때문에 확장자가 .properties 이어야 한다.
- 번들이름_언어_국가.properties
- 언어와 국가 자리에는 두글자로 된 언어코드(생략불가 생략이 기본값 en)와 국가코드(생략가능)가 있다.
- prefix : 번들태그의 내부에서 사용되는 message 태거의 key 속성의 값 앞에 자동으로 붙게 될 문자열
1.2.2. <fmt:message> 태그
- 지정한 리소스 번들로부터 메시지를 읽어와 출력한다.
- <fmt:bundle basename="리소스번들명"> <fmt:message key="키명"> </fmt:bundle>
- key : 읽어올 메시지의 키 값
- var : 메시지를 저장할 변수명, 지정할 경우 메시지를 출력하지 않고 var 속성으로 지정한 변수에 메시지를 저장한다.
- scope : 변수가 저장되는 영역 지정
- bundle : <fmt:setBundle> 태그를 사용해서 로딩한 번들로부터 메시지를 읽어올 때 사용
- {n} 부분에 들어갈 값을 지정하기 위해서 <fmt:param> 태그를 사용한다.
<!-- fmt_bundle_message.jsp --> <%@ page contentType = "text/html; charset=euc-kr" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%-- <fmt:setLocale value="en" /> --%><!-- 옆 주석을 풀면 언어코드가 en이 된다. --> <fmt:bundle basename="resource.message"> <fmt:message key="TITLE" var="title"/> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>${title}</title> </head> <body> <c:if test="${! empty param.id}"> <fmt:message key="GREETING"> <fmt:param value="${param.id}" /> </fmt:message> </c:if> <br> <fmt:message key="VISITOR" /> </body> </html> </fmt:bundle> <!-- 한글실행결과영어실행결과
-->
1.2.3. <fmt:setBundle> 태그
- 리소스 번들을 변수로 저장한 후 어디서나 사용할 수 있게 된다.
- <fmt:setBundle var="변수명" basename="리소스번들명" /> <fmt:message bundle="${setBundle에 지정된 변수명}" key="키명" />
- basename : 읽어올 리소스 번들의 이름
- var : 리소스 번들을 저장할 변수 명
- scope : 변수를 저장할 영역
<!-- fmt_bundle_message.jsp --> <%@ page contentType = "text/html; charset=euc-kr" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%-- <fmt:setLocale value="en" /> --%><!-- 옆 주석을 풀면 언어코드가 en이 된다. --> <fmt:setBundle var="message" basename="resource.message"/> <fmt:message bundle="${ message }" key="TITLE" var="title"/> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>${ title }</title> </head> <body> <c:if test="${! empty param.id}"> <fmt:message bundle="${ message }" key="GREETING"> <fmt:param value="${param.id}" /> </fmt:message> </c:if> <br> <fmt:message bundle="${ message }" key="VISITOR" /> </body> </html> <!-- 실행결과는 위와 같다 -->
1.3. 숫자 및 날짜 포맷팅 처리 태그
1.3.1. <fmt:formatNumber> 태그
- 숫자를 양식에 맞춰 문자열(String)로 변환한다.
- <fmt:formatNumber value="숫자값" type="값타입" pattern="패턴" currentCode="통화코드" currencySymbol="통화심볼" groupingUsed="boolean" var="변수명" scope="영역" />
- value : 양식에 맞춰 출력할 숫자
- type : 출력할 양식, number일 경우 숫자, percent일 경우 %, currency일 경우 통화형식으로 출력한다. 기본값은 number
- pattern : 직접 숫자가 출력되는 양식을 지정, java.text.DecimalFormat 클래스에 정의되어있는 패턴을 사용한다.
- #을 지정하면 유효숫자가 있을경우만 표시되고 0을 지정하면 0으로 자리수만큼 채워진다.
- currencyCode : 통화 코드를 지정, 통화코드는 ISO 4217에 지정되어 있다. type의 속성값이 currency일 때 의미가 있다.
- currentSymbol : 통화를 표현할 때 사용할 기호를 표시, type의 속성값이 currency일 때 의미가 있다.
- groupingUsed : 콤마(,)와 같이 단위를 구분할 때 사용되는 기호를 사용할 지의 여부를 결정한다. true일 경우 기호사용, false일 경우 사용되지 않음, 기본값은 ture
- var : 포맷팅 한 결과를 저장할 변수 명, 변수 타입은 String, var 속성을 지정하지 않으면 결과가 곧바로 출력
- scope : 변수를 저장할 영역, 기본값은 page
<!-- fmt_formatNumber.jsp --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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=UTF-8"> <title>fmt:formatNumber</title> </head> <body> <c:set var="price" value="12345" /> <fmt:formatNumber value="${ price }" type="number" var="numberType"/><br> 통화 : <fmt:formatNumber value="${ price }" type="currency" currencySymbol="원"/><br> 퍼센트 : <fmt:formatNumber value="${ price }" type="percent" groupingUsed="false" /><br> 숫자 : ${ numberType }<br> 패턴: <fmt:formatNumber value="${ price }" pattern="00000000.000"/><br> 패턴: <fmt:formatNumber value="${ price }" pattern="########.###"/><br> </body> </html> <!-- 실행결과 통화 : 원12,345 퍼센트 : 1234500% 숫자 : 12,345 패턴: 00012345.000 패턴: 12345 -->
1.3.2. <fmt:parseNumber> 태그
- 문자열을 숫자(Number)로 변환한다.
- <fmt:parseNumber value="값" type="값타입" pattern="패턴" parseLocale="통화코드" integerOnly="boolean" var="변수명" scope="영역 />
- value : 파싱할 문자열
- type : value 속성의 문자열 타입을 지정, number, currency, percentage가 올 수 있다. 기본값은 number
- pattern : 직접 파싱할 때 사용할 양식을 지정
- parseLocale : 파싱할 때 사용할 로케일을 지정
- integerOnly : 정수 부분만 파싱할 지의 여부를 지정, 기본값은 false
- var : 파싱한 결과를 저장할 변수명을 지정
- scope : 변수를 저장할 영역을 지정, 기본값은 page
<!-- fmt_parseNumber --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <!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=UTF-8"> <title>fmt:parseNumber</title> </head> <body> <fmt:parseNumber value="1234.56" pattern="0000.000" var="num1"/> ${ num1 }<br> <fmt:parseNumber value="1234.56" var="num2"/> ${ num2 }<br> <fmt:parseNumber value="1234.56" pattern="####.###" var="num3" /> ${ num3 }<br> </body> </html> <!-- 실행결과 1234.56 1234.56 1234.56 -->
1.3.3. <fmt:formatDate> 태그
- 날짜 정보를 담고 있는 객체를 포맷팅하여 출력한다.
- <fmt:formatDate value="날짜값" type="타입" dateStyle="날짜스타일" timeStyle="시간스타일" pattern="패턴" timeZone="타임존" var="변수명" scope="영역" />
- value : 포맷팅할 날짜 및 시간 값
- type : 날짜, 시간 또는 둘다 포맷팅 할 지의 여부를 지정, time date both 중 한가지 값을 가지며, 기본값은 date
- dateStyle : 날짜에 대해 미리 정의된 포맷팅 스타일을 지정, default short medium long full 중 한가지 값을 가지며, 기본값은 default
- timeStyle : 시간에 대해 미리 정의된 포맷팅 스타일을 지정, default short medium long full 중 한가지 값을 가지며, 기본값은 default
- dateStyle 및 timeStyle API : http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
- pattern : 직접 파싱할 때 사용할 양식을 지정, java.text.DateFormat 양식을 사용
- timeZone : 시간대를 변경하고 싶을 때 사용, <fmt:setTimeZone> 태그에서 생성한 TimeZone 객체를 사용
- var : 파싱한 결과를 저장할 변수 명을 지정
- scope : 변수를 저장할 영역을 지정, 기본 값은 page
<!-- fmt_formatDate.jsp --> <%@page import="org.apache.naming.java.javaURLContextFactory"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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=UTF-8"> <title>fmt:formatDate</title> </head> <body> <c:set var="now" value="<%= new java.util.Date() %>" /> <h1>type = date</h1> default : <fmt:formatDate value="${ now }" type="date" dateStyle="default"/><br> short : <fmt:formatDate value="${ now }" type="date" dateStyle="short"/><br> medium : <fmt:formatDate value="${ now }" type="date" dateStyle="medium"/><br> long : <fmt:formatDate value="${ now }" type="date" dateStyle="long"/><br> full : <fmt:formatDate value="${ now }" type="date" dateStyle="full"/> <hr><!-- --------------------------------------------------------------------- --> <h1>type = time</h1> default : <fmt:formatDate value="${ now }" type="time" timeStyle="default"/><br> short : <fmt:formatDate value="${ now }" type="time" timeStyle="short"/><br> medium : <fmt:formatDate value="${ now }" type="time" timeStyle="medium"/><br> long : <fmt:formatDate value="${ now }" type="time" timeStyle="long"/><br> full : <fmt:formatDate value="${ now }" type="time" timeStyle="full"/> <hr><!-- --------------------------------------------------------------------- --> <h1>type = both</h1> default : <fmt:formatDate value="${ now }" type="both" dateStyle="default" timeStyle="default"/><br> short : <fmt:formatDate value="${ now }" type="both" dateStyle="short" timeStyle="default"/><br> medium : <fmt:formatDate value="${ now }" type="both" dateStyle="medium" timeStyle="default"/><br> long : <fmt:formatDate value="${ now }" type="both" dateStyle="long" timeStyle="default"/><br> full : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="default"/> <hr><!-- --------------------------------------------------------------------- --> <h1>pattern</h1> YYYY/MM/dd : <fmt:formatDate value="${ now }" type="date" pattern="YYYY/MM/dd" /><br> HH:mm:SS : <fmt:formatDate value="${ now }" type="time" pattern="HH:mm:SS" /><br> hh:mm:ss : <fmt:formatDate value="${ now }" type="time" pattern="hh:mm:ss" /><br> a : <fmt:formatDate value="${ now }" type="time" pattern="a" /><br> H : <fmt:formatDate value="${ now }" type="time" pattern="HH" /><br> k : <fmt:formatDate value="${ now }" type="time" pattern="kk" /><br> K : <fmt:formatDate value="${ now }" type="time" pattern="KK" /><br> h : <fmt:formatDate value="${ now }" type="time" pattern="hh" /><br> z : <fmt:formatDate value="${ now }" type="time" pattern="z" /><br> Z : <fmt:formatDate value="${ now }" type="time" pattern="Z" /><br> X : <fmt:formatDate value="${ now }" type="time" pattern="X" /><br> </body> </html> <!-- 실행결과 type = date default : 2013. 9. 30 short : 13. 9. 30 medium : 2013. 9. 30 long : 2013년 9월 30일 (월) full : 2013년 9월 30일 월요일 --------------------------------------------------------------------------- type = time default : 오후 3:36:59 short : 오후 3:36 medium : 오후 3:36:59 long : 오후 3시 36분 59초 full : 오후 3시 36분 59초 KST --------------------------------------------------------------------------- type = both default : 2013. 9. 30 오후 3:36:59 short : 13. 9. 30 오후 3:36:59 medium : 2013. 9. 30 오후 3:36:59 long : 2013년 9월 30일 (월) 오후 3:36:59 full : 2013년 9월 30일 월요일 오후 3:36:59 --------------------------------------------------------------------------- pattern YYYY/MM/dd : 2013/09/30 HH:mm:SS : 15:36:66 hh:mm:ss : 03:36:59 a : 오후 H : 15 k : 15 K : 03 h : 03 z : KST Z : +0900 X : +09 -->
1.3.3. <fmt:parseDate> 태그
- 문자열로 표시된 날짜 및 시간 값을 java.util.Date로 파싱한다.
- <fmt:formatDate value="날짜값" type="타입" dateStyle="날짜스타일" timeStyle="시간스타일" pattern="패턴" timeZone="타임존" parseLocale="로케일" var="변수명" scope="영역" />
- value : 파싱할 문자열
- type : 날짜, 시간 또는 둘다 포맷팅할지의 여부를 지정, time date both 중 한가지 값을 가지며, 기본값은 date
- dateStyle : 날짜에 대해 미리 정의된 포맷팅 스타일을 지정, default short medium long full 중 한가지 값을 가지며, 기본값은 default
- timeStyle : 시간에 대해 미리 정의된 포맷팅 스타일을 지정, default short medium long full 중 한가지 값을 가지며, 기본값은 default
- pattern : 직접 파싱할 때 사용할 양식을 지정, java.text.DateFormat 양식을 사용
- timeZone : 시간대를 변경하고 싶을 때 사용, <fmt:setTimeZone> 태그에서 생성한 TimeZone 객체를 사용
- parseLocale : 파싱할 때 사용할 로케일을 지정
- var : 파싱한 결과를 저장할 변수명을 지정
- scope : 변수를 저장할 영역을 지정, 기본값은 page
<fmt:parseDate value="1989-09-18 03:00:23" pattern="yyyy-MM-dd HH:mm:ss" var="date" /> ${ date }
1.3.4. <fmt:timeZone> 태그
- 시간대별로 시간을 처리할 수 있다.
- <fmt:timeZone value="타임존명"> <fmt:formatDate . . . /> </fmt:timeZone>
<!-- fmt_timeZone.jsp --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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=UTF-8"> <title>fmt:timeZone</title> </head> <body> <c:set var="now" value="<%= new java.util.Date() %>"/> 대한민국 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> <br> <fmt:timeZone value="Asia/Hong_kong"> 홍콩 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> </fmt:timeZone> <br> <fmt:timeZone value="Europe/London"> 런던 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> </fmt:timeZone> <br> <fmt:timeZone value="America/New_York"> 뉴욕 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> </fmt:timeZone> </body> </html> <!-- 실행결과 대한민국 : 2013년 9월 30일 월요일 오후 4시 37분 04초 KST 홍콩 : 2013년 9월 30일 월요일 오후 3시 37분 04초 GMT+08:00 런던 : 2013년 9월 30일 월요일 오전 8시 37분 04초 BST 뉴욕 : 2013년 9월 30일 월요일 오전 3시 37분 04초 EDT -->
1.3.5. <fmt:setTimeZone> 태그
- 시작태그와 끝태그 사이에만 영향을 미치는 것이 아니고, 액션 태그가 실행된 다음의 모든 코드에 영향을 미친다.
- <fmt:setTimeZone value="타임존명"> <fmt:formatDate . . . /> </fmt:timeZone>
<!-- fmt_setTimeZone.jsp --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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=UTF-8"> <title>fmt:setTimeZone</title> </head> <body> <c:set var="now" value="<%= new java.util.Date() %>"/> 대한민국 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> <br> <fmt:setTimeZone value="Asia/Hong_kong" /> 홍콩 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> <br> <fmt:setTimeZone value="Europe/London" /> 런던 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> <br> <fmt:setTimeZone value="America/New_York" /> 뉴욕 : <fmt:formatDate value="${ now }" type="both" dateStyle="full" timeStyle="full"/> </body> </html> <!-- 실행결과 대한민국 : 2013년 9월 30일 월요일 오후 4시 39분 22초 KST 홍콩 : 2013년 9월 30일 월요일 오후 3시 39분 22초 GMT+08:00 런던 : 2013년 9월 30일 월요일 오전 8시 39분 22초 BST 뉴욕 : 2013년 9월 30일 월요일 오전 3시 39분 22초 EDT -->
* TimeZone 리스트
<!-- timeZoneList.jsp --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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=UTF-8"> <title>TimeZone List</title> </head> <body> <c:forEach var="id" items="<%= java.util.TimeZone.getAvailableIDs() %>"> ${ id }<bR> </c:forEach> </body> </html> <!-- 실행결과 Etc/GMT+12 Etc/GMT+11 Pacific/Midway Pacific/Niue Pacific/Pago_Pago Pacific/Samoa US/Samoa . . . 생략 Etc/GMT-13 MIT Pacific/Apia Pacific/Enderbury Pacific/Fakaofo Pacific/Tongatapu Etc/GMT-14 Pacific/Kiritimati -->
1.4. web.xml 파일에 국제화 관련 태그 기본 값 설정
- 기본으로 사용할 로케일 정보나 시간대를 web.xml 파일에 컨텍스트 초기화 파라미터를 이용해서 설정할 수 있다.
속성 이름 |
설명 |
javax.servlet.jsp.jstl.fmt.localizationContext |
기본으로 사용할 리소스 번들을 지정, 리소스 번들의 basename을 입력한다. |
javax.servlet.jsp.jstl.fmt.locale |
기본으로 사용할 로케일을 지정한다. |
javax.servlet.jsp.jstl.fmt.timeZone |
기본으로 사용할 시간대를 지정한다. |
<context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>resource.message</param-value> </context-param> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.locale</param-name> <param-value>ko_kr</param-value> </context-param> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.timeZone</param-name> <param-value>Asia/Seoul</param-value> </context-param>
'Java > Java EE' 카테고리의 다른 글
톰캣(Tomcat) 커넥션풀(DBCP) 설정 (2) | 2013.10.01 |
---|---|
JSP 커스텀 태그(Custom Tag) - 태그파일 (0) | 2013.09.30 |
JSP JSTL(JSP Standard Tag Library) - 함수 태그(functions) (2) | 2013.09.29 |
JSP JSTL(JSP Standard Tag Library) - 코어 태그(core) (6) | 2013.09.23 |
JSP JSTL(JSP Standard Tag Library) 1.2 라이브러리 추가 (0) | 2013.09.23 |