티스토리 뷰

Back-end/Spring

Spring JSTL Formatting Tags

이안_ian 2019. 2. 1. 22:26




반응형

<fmt: ??? >

 태그명

내용 

requestEncoding 

value 속성을 통해 지정한 문자 셋으로 변경 

setLocale 

통화 기호나 시간 대역을 설정한 지역에 맞게 표시 

timeZone 

특정 영역의 시간대(GMT/GMT-9)를 설정 

setTimeZone 

특정 영역의 시간대 설정 정보를 변수에 저장하는 태그 

bundle 

basename 속성에 지정된 properties파일을 읽어오는 태그 

setBundle 

properties 파일을 읽어와 다양한 영역에서 참조할 수 있게 설정 

message 

bundle태그를 통해 저장된 key로 value를 가져오는 태그 

formatNumber 

숫자를 특정 양식에 맞추어 출력하는 태그 

parseNumber 

문자열을 숫자 형식으로 변환하는 태그 

formatDate 

날짜 정보를 가진 객체를 특정 형식으로 변환하여 출력하는 태그 

parseDate 

문자열을 날짜 형식으로 변환하여 출력하는 태그 


1.<fmt:requestEncoding>

요청 파라미터의 문자셋을 value속성으로 설정하는 태그

사용 예)

<fmt:requestEncoding value="utf-8"/>


예제)

1
2
3
4
5
<body>
    <fmt:requestEncoding value="utf-8"/>
    이름 : <c:out value="${param.name }"/>
</body>
</html>
cs


2.<fmt:setLocale>

지역 설정을 통해 통화 기호나 시간 대역을 다르게 설정할 수 있다.

국가-지역 설정은 다음 주소를 참고하자. http://www.lingoes.net/en/translator/langcode.html

사용 예)


3.<fmt:formatNumber>

표현하고자 하는 숫자의 포맷을 통화 기호, ','표시, %표시등 원하는 쓰임에 맞게 지정할 수 있다.

사용 예)


<fmt:formatNumber>속성 정리

속성명 

설명 

필수여부 

value 

원하는 표현 방식으로 사용하기 위한 숫자데이터 

yes 

type 

표시할 타입 지정(number,currency,percent) 

no 

pattern 

화면에 표시할 데이터 스타일을 지정, 패턴은 java.text.DecimalFormat클래스의 포맷방식

no 

currencyCode 

type속성이 currency일 경우 인식할 화폐단위 

no 

currencySymbol 

type속성이 currency일 경우 표시할 화폐기호 

no 

groupingUsed 

 , 와 같은 각 숫자 단위의 구분자 표시여부 

no 

maxIntegerDigits 

화면에 표시할 숫자의 최대 자릿수 

no 

minIntegerDigits 

화면에 표시할 숫자의 최소 자릿수 

no 

maxFractionDigits 

화면에 표시할 소수점 이하 숫자의 최대 개수  

no 

minFractionDigits 

화면에 표시할 소수점 이하 숫자의 최소 개수 

no 

var 

변환된 숫자 데이터를 담을 변수 생성 

no 


formatNumber 예제)

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
    <h1>기본 숫자 표현하기</h1>
    <c:set var="numtest" value="12345019323"/>
    <c:set var="numtest2" value="54812323"/>
    <c:set var="numtest3" value="1"/>
    <c:set var="numtest4" value="423.234"/>
    기본숫자설정:<fmt:formatNumber value="${numtest }"/><br>
    groupingused(default-true) : 숫자에 쉼표를 표시
    기본숫자설정:<fmt:formatNumber value="${numtest }" groupingUsed="true"/><br>
    
    지정된 화폐를 기준으로 표시<br>
    화폐 기준은 currencySymbol="$" "\"표시 가능<br>
    화폐 기본적으로 톰캣이 가지고 있는 설정값(locale)이 있는데 그것을 따름<br>
    
    대한민국 : ko_kr, en_us, ja_jp <br>
    현재의 로케일 값 확인: <%=request.getLocale() %><br>
    지역설정 : fmt:setLocale 태그로 설정이 가능<br>
    통화설정: <fmt:formatNumber value="${numtest2}" type="currency"/><br>
    <fmt:setLocale value="en_us"/
    통화설정: <fmt:formatNumber value="${numtest2}" type="currency"/><br>
    <fmt:setLocale value="ja_jp"/
    통화설정: <fmt:formatNumber value="${numtest2}" type="currency"/><br>
    
    통화설정: <fmt:formatNumber value="${numtest2}" type="currency" currencySymbol="$"/><br>
    퍼센트 설정 type=percent 1:100%<br>
    퍼센트 : <fmt:formatNumber value="${numtest3 }"/>
    퍼센트 : <fmt:formatNumber value="${numtest3 }" type="percent"/>
    퍼센트 : <fmt:formatNumber value="0.5" type="percent"/><br><br>
    
    <h1>패턴을 지정하여 숫자를 활용</h1>
    0표현, #표현 두개 다 자릿수를 의미한다.<br>
    0:자리에 수가 없으면 0으로 표시<br>
    #:자리에 수가 없으면 공란으로 표시<br>
     패턴지정 전: <fmt:formatNumber value="${numtest4 }"/><br>
    패턴지정1 : <fmt:formatNumber value="${numtest4 }" pattern="0,00.0"/><br>
    패턴지정2 : <fmt:formatNumber value="${numtest4 }" pattern="0,000,00.0"/><br>
    패턴지정3 : <fmt:formatNumber value="${numtest4 }" pattern="#,###.##"/><br>
    패턴지정4 : <fmt:formatNumber value="${numtest4 }" pattern="###,###.000000"/><br>
    
    소수점의 자리를 표현하는 옵션값<br>
    minFractionDigit : 최소 소수점 자리수<br>
    maxFractionDigit : 최대 소수점 자리수 반올림<br>
    <fmt:formatNumber value="${numtest4 }" minFractionDigits="5" pattern="#,###.####"/><br
    <fmt:formatNumber value="${numtest4 }" maxFractionDigits="2" pattern="#,###.####"/><br
 
cs


결과 창


4.<fmt:formatDate>

날짜나 시간의 포맷방식을 지정하여 화면에 보여줄 때 사용한다.

value 속성으로는 java.util.Date()객체를 사용해야한다.

사용 예)

<c:set var="date" value="<%=new java.util.Date()%>"/>

<fmt:formatDate type="time" value="${Date}"/>


<fmt:formatDate>속성정리

속성명 

설명

필수여부 

value 

원하는 날짜, 시간으로 표시하기 위한 데이터 

yes 

type 

표시할 타입 지정(time, date, both) 

no 

pattern 

 

no 

dateStyle 

날짜에 대해 표현할 스타일 정의default,shor,medium,long,full 

no 

timeStyle 

 날짜에 대해 표현할 스타일 정의default,shor,medium,long,full

no

timeZone 

지역에 따른 시간을 설정할 때 사용하며 이때 사용되는 값은 timeZone객체 

no 

var 

변환된 날짜 데이터를 담을 변수 

no 

scope 

var에 담은 변수를 저장할 영역 설정(기본 page) 

no 


formatDate 예제)

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
    <c:set var="now" value="<%=new java.util.Date() %>"/>
    <c:out value="${now }"/><br>
    <fmt:formatDate value="${now }" />
    
    <h4>형식 : time</h4>
    <fmt:formatDate value="${now }" type="time"/>
    <h4>형식 : both</h4>
    <fmt:formatDate value="${now }" type="both"/>
    <h4>형식 : 패턴형식으로 출력</h4>
    <fmt:formatDate value="${now }" pattern="yyyy년 MM월 dd일 hh시 mm분 ss초"/><br>
    <fmt:formatDate value="${now }" pattern="yyyy년 MM월 dd일 E요일 "/>
    <h4>형식 : date style</h4>
    <fmt:formatDate value="${now }" dateStyle="default"/><br>
 
    <fmt:formatDate value="${now }" dateStyle="short"/><br>
    
    <fmt:formatDate value="${now }" dateStyle="long"/><br>
    <fmt:formatDate value="${now }" dateStyle="full"/><br>
    
    <h4>형식 : timeStyle</h4>
    <fmt:formatDate value="${now }" type="both" timeStyle="short"/><br>
    <fmt:formatDate value="${now }" type="both" timeStyle="long"/><br>
    <fmt:formatDate value="${now }" type="both" timeStyle="medium"/><br>
    <fmt:formatDate value="${now }" type="both" timeStyle="full"/><br>
    
    <h1>timezone</h1>
    <jsp:useBean id="time" class="java.util.Date"/>
    <c:out value="${time }"/><br>
    <fmt:timeZone value="GMT">
        <fmt:formatDate value="${time }" type="both" dateStyle="full" timeStyle="full"/>
    </fmt:timeZone><br>
    <fmt:timeZone value="GMT+9">
        <fmt:formatDate value="${time }" type="both" dateStyle="full" timeStyle="full"/>
    </fmt:timeZone>
    
    <h4>로케일 변경</h4>
    <fmt:setLocale value="en_US"/>
    <fmt:formatNumber value="100000" type="currency"/>
    <fmt:formatDate value="${time }" type="both" dateStyle="full" timeStyle="full"/>
 
cs


결과 창


반응형

'Back-end > Spring' 카테고리의 다른 글

Spring STS 설치하기!!  (0) 2019.02.14
MyBatis List와 Map으로 데이터 불러오기  (4) 2019.02.11
Mybatis 데이터 삽입하기  (0) 2019.02.02
Spring EL & JSTL  (0) 2019.01.30
Spring Action Tag  (0) 2019.01.29
댓글
반응형
최근에 달린 댓글
글 보관함
Total
Today
Yesterday
최근에 올라온 글
«   2024/05   »
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 27 28 29 30 31