JSP/model 2
JSTL 국제화 라이브러리 - formatDate, setTimeZone, timeZone, formatNumber
Kiwisae
2022. 9. 16. 15:19
JSTL 라이브러리 종류
라이브러리 | 하위 기능 | 접두어 | 관련 URI |
코어 | - 변수 지원 - 흐름 제어 - URL 처리 |
c | http://java.sun.com/jsp/jstl/core |
XML | - XML 코어 - 흐름 제어 - XML 변환 |
x | http://java.sun.com/jsp/jstl/xml |
국제화 | - 지역 - 메시지 형식 - 숫자, 날짜 형식 |
fmt | http://java.sun.com/jsp/jstl/fmt |
데이터베이스 | SQL | sql | http://java.sun.com/jsp/jstl/sql |
함수 | - 콜렉션 처리 - String 처리 |
fn | http://java.sun.com/jsp/jstl/functions |
국제화 태그 라이브러리
기능분류 | 태그 | 설명 |
로케일 지정 | setLocale | Locale을 지정한다 |
requestEncoding | 요청 파라미터의 캐릭터 인코딩을 지정 | |
메시지 처리 | bundle | 사용할 번들을 지정 |
message | 지역에 알맞는 메시지를 출력 | |
setBundle | 리소스 번들을 읽어와 특정 변수에 저장 | |
숫자, 날짜 변환 | formantNumber | 숫자를 변환 (자바의 DecimalFormat 클래스) |
formatDate | Date 객체를 변환 (자바의 SimepleDateFormat 클래스) |
|
parseDate | 문자열로 표시된 날짜를 분석하여 Date 객체로 변환 | |
parseNumber | 문자열로 표시된 날짜를 분석하여 숫자로 변환 | |
setTimeZone | 시간대 정보를 특정 변수에 저장 | |
timeZone | 시간대를 지정 |
숫자, 날짜 변환 태그 formatDate
- 날짜 정보를 담은 객체 Date를 변환해서 출력
속성 | 표현식/EL | 타입 | 설명 |
value | 사용 가능 | java.util.Date | 변환할 날짜, 시간 값 |
type | 사용 가능 | String | 날짜, 시간 또는 둘 다 변환할지의 여부 지정 |
dateStyle | 사용 가능 | String | 날짜에 대한 변환 양식 지정 |
timeStyle | 사용 가능 | String | 시간에 대한 변환 양식 지정 |
pattern | 사용 가능 | String | 직접 파싱할 때의 양식 지정 |
var | 사용 불가 | String | 파싱 결과를 저장할 변수 명 지정 |
scopr | 사용 불가 | String | 변수를 저장할 영역 지정 |
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="now" value="<%= new java.util.Date() %>" />
${ now }<br>
<c:out value="${now }"></c:out><br>
<fmt:formatDate value="${now}" type="date" dateStyle="full" /> <br>
<fmt:formatDate value="${now}" type="date" dateStyle="short" /> <br>
<fmt:formatDate value="${now}" type="time" /> <br>
<fmt:formatDate value="${now}" type="both"
dateStyle="full" timeStyle="full" /> <br>
<fmt:formatDate value="${now}" pattern="z a h:mm" /> <br>
기존 자바에서 사용하던 양식도 사용 가능하다.
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd a hh:mm:ss EEE요일" /> <br>
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd HH:mm:ss" /> <br>
숫자, 날짜 변환 태그 timeZone, setTimeZone
- 국제화 태그가 사용할 시간대 설정
<c:set var="now" value="<%= new java.util.Date() %>" />
<fmt:formatDate value="${now}" type="both"
dateStyle="full" timeStyle="full" />
<br>
<fmt:timeZone value="England">
<fmt:formatDate value="${now}" type="both"
dateStyle="full" timeStyle="full" />
</fmt:timeZone>
숫자, 날짜 변환 태그 formatNumber
- 숫자를 여러 양식으로 변환
속성 | 표현식/EL | 타입 | 설명 |
value | 사용 가능 | String or Number | 양식에 맞춰 출력할 숫자 |
type | 사용 가능 | String | 어떤 양식으로 출력할지 결정 - number : 숫자 (기본값) - percent : % - currency : 통화 형식 currentCode : 통화 코드 currencySymbol : 통화 심볼 - groupingUsed : true or false, 1000단위 구분기호 쉼표 |
pattern | 사용 가능 | String | 직접 숫자가 출력되는 양식 지정 DecimalFormat 클래스에 정의되어 있는 패턴 사용 |
var | 사용 불가 | String | 변환 결과를 저장할 변수 명. 이 속성을 사용하지 않으면 결과가 바로 출력된다 |
scope | 사용 불가 | String | 변수를 저장할 영역. 기본 값은 page |
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="price" value="10000" />
<fmt:formatNumber value="${price}" type="number" var="numberType" />
숫자: ${numberType} <br>
통화: <fmt:formatNumber value="${price}" type="currency" currencySymbol="$" /><br>
퍼센트: <fmt:formatNumber value="${price}" type="percent" groupingUsed="true" /> <br>
퍼센트: <fmt:formatNumber value="${price}" type="percent" groupingUsed="false" /> <br>
패턴: <fmt:formatNumber value="${price}" pattern="00000000.00"/>