기능 |
태그 |
설명 |
숫자 날짜 형식 |
formatNumber |
숫자를 양식에 맞춰서 출력한다. |
formatDate |
날짜 정보를 담고 있는 객체를 포맷팅하여 출력할 때 사용한다. | |
parseDate |
문자열을 날짜로 파싱한다. | |
parseNumber |
문자열을 숫자로 파싱한다. | |
setTimeZone |
시간대별로 시간을 처리할 수 있는 기능을 제공한다. | |
timeZone |
시간대별로 시간을 처리할 수 있는 기능을 제공한다. | |
로케일 지정 |
setLocale |
국제화 태그들이 사용할 로케일을 지정한다. |
requestEncoding |
요청 파라미터의 인코딩을 지정한다. | |
메시지 처리 |
bundle |
태그 몸체에서 사용할 리소스 번들을 지정한다. |
message(param) |
메시지를 출력한다. | |
setBundle |
특정 리소스 번들을 사용할 수 있도록 로딩한다. |
숫자형식
<fmt:formatNumber value="수치 데이터" [type="{number|currency|percent}"
[pattern="패턴"]
[currencySymbol="화폐 단위"]
[groupingUsed="{true|false}"]
[var="변수 이름"]
[scope="{page|request|session|application}"]>
<fmt:formatNumber>의 속성
속 성 |
표현식 |
타 입 |
설 명 |
value |
true |
String or Number |
형식화할 수치 데이터 |
type |
true |
String |
숫자(number), 통화(currency), % 중 어느 형식으로 표시할 지 지정 |
pattern |
true |
String |
사용자가 지정한 형식 패턴 |
currencySymbol |
true |
String |
통화 기호. 통화 형식(type="currency")일 때만 적용 |
groupingUsed |
true |
boolean |
콤마와 같이 단위를 구분할 때 사용하는 기호를 표시할지 의 여부를 결정한다. true이면 10,000과 같이 구분 기호가 사용되며 false이면 10000로 출력된다. 기본값은 true |
var |
false |
String |
출력 결과 문자열을 담는 scope에 해당하는 변수이름 |
scope |
false |
String |
var 속성에 지정한 변수의 적용 영역지정 |
날짜형식
<fmt:formatDate value="date" [type="{time|date|both}"]
[dateStyle="{default|short|medium|long|full}"]
[timeStyle="{default|short|medium|long|full}"]
[pattern="customPattern"]
[timeZone="timeZone"]
[var="varName"]
[scope="{page|request|session|application}"]>
<fmt:formatDate>의 속성
속 성 |
표현식 |
Type |
설 명 |
value |
true |
java.util.Date |
형식화될 Date와 time |
type |
true |
String |
형식화할 데이터가 시간(time), 날짜(date), 모두(both) 셋 중 하나를 지정 |
dateStyle |
true |
String |
미리 정의된 날짜 형식으로 default, short, medium, long , full 넷 중에 하나를 지정 |
timeStyle |
true |
String |
미리 정의된 시간 형식으로 default, short, medium, long , full 넷 중에 하나를 지정 |
pattern |
true |
String |
사용자 지정 형식 스타일 |
timeZone |
true |
String 또는 java.util.TimeZone |
형식화 시간에 나타날 타임존 |
var |
false |
String |
형식 출력 결과 문자열을 담는 scope에 해당하는 변수명 |
scope |
false |
String |
var의 scope |
사용 예)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSTL</title>
</head>
<body>
<c:set var="now" value="<%= new java.util.Date() %>" />
\${now} : ${now} <fmt:formatDate value="${now}" /><br>
date : <fmt:formatDate value="${now}" type="date" /><br>
time : <fmt:formatDate value="${now}" type="time" /><br>
both : <fmt:formatDate value="${now}" type="both" /><br>
default : <fmt:formatDate value="${now}" type="both" dateStyle="default" timeStyle="default" /><br>
short : <fmt:formatDate value="${now}" type="both" dateStyle="short" timeStyle="short" /><br>
medium : <fmt:formatDate value="${now}" type="both" dateStyle="medium" timeStyle="medium" /><br>
long : <fmt:formatDate value="${now}" type="both" dateStyle="long" timeStyle="long" /><br>
full : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" /><br>
pattern="yyyy년 MM월 dd일 hh시 mm분 ss초" : <fmt:formatDate value="${now}" pattern="yyyy년 MM월 dd일 hh시 mm분 ss초" /><br>
</body>
</html>
-----결과-----
${now} : Fri Feb 13 14:58:42 KST 2015 2015. 2. 13
date : 2015. 2. 13
time : 오후 2:58:42
both : 2015. 2. 13 오후 2:58:42
default : 2015. 2. 13 오후 2:58:42
short : 15. 2. 13 오후 2:58
medium : 2015. 2. 13 오후 2:58:42
long : 2015년 2월 13일 (금) 오후 2시 58분 42초
full : 2015년 2월 13일 금요일 오후 2시 58분 42초 KST
pattern="yyyy년 MM월 dd일 hh시 mm분 ss초" : 2015년 02월 13일 02시 58분 42초
타임존
<fmt:setTimeZone>, <fmt:timeZone>
<fmt:setTimeZone value="timeZone" [var="varName"]
[scope="{page|request|session|application}"]>
사용 예)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSTL</title>
</head>
<body>
<c:set var="now" value="<%= new java.util.Date() %>" />
Korea KST : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" />
<br>
<fmt:timeZone value="GMT">
Swiss GMT : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" />
</fmt:timeZone>
<br>
<fmt:timeZone value="GMT-8">
NewYork GMT-8 : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" />
</fmt:timeZone>
</body>
</html>
Korea KST : 2015년 2월 13일 금요일 오후 3시 14분 01초 KST
Swiss GMT : 2015년 2월 13일 금요일 오전 6시 14분 01초 GMT
NewYork GMT-8 : 2015년 2월 12일 목요일 오후 10시 14분 01초 GMT-08:00
Locale
<fmt:setLocale>
사용예)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSTL</title>
</head>
<body>
<c:set var="now" value="<%= new java.util.Date() %>" />
톰캣 서버의 기본 로케일 : <%= response.getLocale() %>
<br>
<fmt:setLocale value="ko_kr" />
로케일을 한국어로 설정후 로케일 확인 : ${pageContext.response.locale}<br>
통화(currency) : <fmt:formatNumber value="10000" type="currency" /> <br>
날짜 : <fmt:formatDate value="${now}" /><br>
<br>
<fmt:setLocale value="ja_JP" />
로케일을 일본어로 설정후 로케일 확인 : ${pageContext.response.locale}<br>
통화(currency) : <fmt:formatNumber value="10000" type="currency" /> <br>
날짜 : <fmt:formatDate value="${now}" /><br>
<br>
<fmt:setLocale value="en_US" />
로케일을 영어로 설정후 로케일 확인 : ${pageContext.response.locale}<br>
통화(currency) : <fmt:formatNumber value="10000" type="currency" /> <br>
날짜 : <fmt:formatDate value="${now}" /><br>
</body>
</html>
-----결과-----
톰캣 서버의 기본 로케일 : ko_KR
로케일을 한국어로 설정후 로케일 확인 : ko_KR
통화(currency) : ₩10,000
날짜 : 2015. 2. 13
로케일을 일본어로 설정후 로케일 확인 : ja_JP
통화(currency) : ¥10,000
날짜 : 2015/02/13
로케일을 영어로 설정후 로케일 확인 : en_US
통화(currency) : $10,000.00
날짜 : Feb 13, 2015
<fmt:reqeustEncoding>
request.setCharacterEncoding()과 같은 역활을 수행
사용예)
<fmt:requestEncoding value="UTF-8" />
'Web > JSP' 카테고리의 다른 글
JSP #19 Oracle DB - #2 PreparedStatement (0) | 2015.02.15 |
---|---|
JSP #18 Oracle DB - #1 SELECT (0) | 2015.02.15 |
JSP #16 sendRedirect & forward (0) | 2015.02.06 |
JSP #15 Servlet에서 입력값 한글 지원 (0) | 2015.02.05 |
JSP #14 Spring - 1 Spring Framework (0) | 2015.01.09 |