티스토리 뷰

FULL STACK/JSP&SERVLET

JSTL Format Tag

publepuble 2019. 1. 22. 13:12

1.Format Tag

  • Format 관련 태그는 국제화와 포맷팅을 지원하는 라이브러리로 구성되어 있다.
  • <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 선언을 해줘야 사용할 수 있다.
  • 라이브러리가 많지만 자주 사용하는 몇 개에 대해서만 알아 보도록 하자

1.1 <fmt:formatNumber>

  • 숫자의 형식을 특정 포맷으로 표현하는 태그이다. (Number → String)
  • value : 특정 형식으로 표현 할 값
  • type : 숫자, 통화, 퍼센트 중 지정 (number|currency|percent)
  • pattern : 사용자가 지정한 형식 패턴. (ex. #,#00.0#)
<fmt:formatNumber> Syntax 및 예
<!-- Syntax -->
<fmt:formatNumber value="numericValue"
        [type="{number|currency|percent}"]
        [pattern="customPattern"]
        [var="varName"]
        [scope="{page|request|session|application}"]/>

<!-- 간단 사용 예 -->
<fmt:setLocale value="ko_KR"/>
<p>number  : <fmt:formatNumber value="1234567.89" type="number"/></p>
<p>currency : <fmt:formatNumber value="1234567.89" type="currency" currencySymbol="₩" /> </p>
<p>percent : <fmt:formatNumber type="percent">0.159</fmt:formatNumber></p>
<p>pattern=".000"    :<fmt:formatNumber value="1234567.1" pattern=".000" /></p>
<p>pattern="#,#00.0#":<fmt:formatNumber value="1234567.891" pattern="#,#00.0#"/></p>
 


1.2 <fmt:parseNumber/>

  • formatNumber와 반대로 정해진 문자열에서 숫자를 파싱한다. . (String → Number)
  • integerOnly : 주어진 값에서 Integer 부분만 파싱할지 여부
<fmt:parseNumber/> Syntax 및 예
<!-- Syntax -->
<fmt:parseNumber [type="{number|currency|percent}"]
        [pattern="customPattern"]
        [parseLocale="parseLocale"]
        [integerOnly="{true|false}"]
        [var="varName"]
        [scope="{page|request|session|application}"]> 

<!-- 간단 사용 예 -->
<p>number  : <fmt:parseNumber value="1,234,567.89" type="number"/></p>
<p>currency : <fmt:parseNumber value="12345abcdef" integerOnly="false" type="number" /></p> 
 

1.3 <fmt:formatDate/>

  • 날짜와 시간 형식을 표현하는 태그이다.
  • value : 특정 형식으로 표현 할 값
  • type : 숫자, 통화, 퍼센트 중 지정 (number|currency|percent)
  • pattern : 사용자가 지정한 형식 패턴. (ex. #,#00.0#)
<fmt:formatDate/> Syntax 및 예
<!-- Syntax -->
<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}"]/>

<!-- 간단 사용 예 -->
<c:set var="now" value="<%= new java.util.Date() %>" />
<p> date full : <fmt:formatDate value="${now}" type="date" dateStyle="full" /></p>
<p> date short : <fmt:formatDate value="${now}" type="date" dateStyle="short" /></p>
<p> time : <fmt:formatDate value="${now}" type="time" /></p>
<p> both full : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" /></p>
<p> pattern 1 : <fmt:formatDate value="${now}" pattern="yyyy-MM-dd aa hh:mm:ss" /></p>
<p> pattern 2 : <fmt:formatDate value="${now}" pattern="yyyy-MM-dd  hh:mm:ss" /></p> 

 

1.4 FormatJSTL.jsp

  • 현재까지 설명한 내용을 FormatJSTL.jsp 파일로 만들어서 실습해 보자
  • http://localhost:8080/el/FormatJSTL.jsp 로 예제를 실행시킨다.
  • 아래는 FormatJSTL.jsp 의 전체 소스이다.
/webapps/el/FormatJSTL.jsp
<%@ page language="java" isELIgnored="false" contentType="text/html; charset=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>
<body>

<!-- Set Locale -->
<fmt:setLocale value="ko_KR" /> 

<!-- formatNumber -->
<p>number  : <fmt:formatNumber value="1234567.89" type="number"/></p>
<p>currency : <fmt:formatNumber value="1234567.89" type="currency" currencySymbol="₩"  /> </p>
<p>percent : <fmt:formatNumber type="percent">0.159</fmt:formatNumber></p>
<p>pattern=".000"    :<fmt:formatNumber value="1234567.1" pattern=".000" /></p>
<p>pattern="#,#00.0#":<fmt:formatNumber value="1234567.891" pattern="#,#00.0#"/></p>

<!-- parseNumber  -->
<p>number  : <fmt:parseNumber value="1,234,567.89" type="number"/></p>
<p>currency : <fmt:parseNumber value="12345abcdef" integerOnly="false" type="number" /></p>

<!-- formatDate -->
<c:set var="now" value="<%= new java.util.Date() %>" />
<p> date full : <fmt:formatDate value="${now}" type="date" dateStyle="full" /></p>
<p> date short : <fmt:formatDate value="${now}" type="date" dateStyle="short" /></p>
<p> time : <fmt:formatDate value="${now}" type="time" /></p>
<p> both full : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" /></p>
<p> pattern 1 : <fmt:formatDate value="${now}" pattern="yyyy-MM-dd aa hh:mm:ss" /></p>
<p> pattern 2 : <fmt:formatDate value="${now}" pattern="yyyy-MM-dd  hh:mm:ss" /></p>

</body>
</html> 
 



반응형

'FULL STACK > JSP&SERVLET' 카테고리의 다른 글

JSTL Core  (0) 2019.01.21
JSTL 정의  (0) 2019.01.21
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
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
글 보관함