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"/>