'프로그래밍/jsp/servlet'에 해당되는 글 3건

  1. 2009.10.21 fmt
2009. 10. 21. 16:04

fmt

1. <fmt:setLocale> : 다국어 지원

<fmt:setLocale value="locale" variant="variant" scope="page | request | sesseion | application" />

- 다국어를 지원하는 페이지를 만들기 위해 사용할 경우 ResourceBundle로 불러오는 *.properties 파일들과 연계되어서 사용한다.

- /WEB-INF/classes/resource/*.properties 형식으로 저장한다.

- message_ko.properties.src 형식으로 언어 형식에 맞춰 이름을 짓고 native2ascii.exe 파일을 이용하여 변환한다.

 

==========================================================================================

 

<%@ page contentType="text/html;charset=euc-kr" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:requestEncoding value="euc-kr" />
<HTML>
 <HEAD>
  <TITLE>다국어 지원 태그(fmt)</TITLE>
 </HEAD>
 <BODY>
  <pre>
  default local : <%=response.getLocale()%>
  set local : ko:<fmt:setLocale value="ko" />
  now : <%=response.getLocale()%>

  set local : ja:<fmt:setLocale value="ja" />
  now : <%=response.getLocale()%>

  set local : en:<fmt:setLocale value="en" />
  now : <%=response.getLocale()%>
  </pre>
 </BODY>
</HTML>

 

==========================================================================================

 

2. <fmt:requestEncoding> : request.setCharacterEncoding("euc-kr") 과 같은 용도

<fmt:requestEncoding value="charsetName" />

 

3. <fmt:bundle> : properties 확장자를 사용하는 자원 파일을 읽어오는 역할을 한다.

<fmt:bundle basename="basename" prefix="prefix"> body </fmt:bundle>

 

4. <fmt:message> : bundle 태그에서 정한 값들을 가져온다.

<fmt:message key="messageKey" bundle="resourceBundle" var="varName" scope="page | request | sesseion | application" />

- key : 읽어올 메시지의 key 값이 기술된다.

- bundle : setBundle 태그를 사용해서 로딩한 번들을 읽어올 때 사용한다.

 

==========================================================================================

 

<%@ page contentType="text/html;charset=euc-kr" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:requestEncoding value="euc-kr" />
<!-- 리소스 번들 파일 불러오기 -->
<fmt:bundle basename="resource.message">
<fmt:message key="TITLE" var="title" />

<HTML>
 <HEAD>
  <TITLE>${title}</TITLE>
 </HEAD>
 <BODY>
 <fmt:message key="GREETING" />
 <br>
 <c:if test="${!empty param.id}">
 <fmt:message key="VISITOR">
  <fmt:param value="${param.id}" />
 </fmt:message>
 </c:if>
 </BODY>
</HTML>
</fmt:bundle>

 

==========================================================================================

 

5. <fmt:setBundle> : 페이지 전체에서 사용할 수 있는 번들을 지정할 때 사용한다.

<fmt:setBundle basename="basename" var="varName" scope="page | request | sesseion | application" />

- basename : properties 파일명이 기술된다.

 

==========================================================================================

 

<%@ page contentType="text/html;charset=euc-kr" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:requestEncoding value="euc-kr" />
<!-- 리소스 번들 파일 불러오기 -->
<fmt:setBundle var="message" basename="resource.message" />
<fmt:message bundle="${message}" key="TITLE" var="title" />

<HTML>
 <HEAD>
  <TITLE>${title}</TITLE>
 </HEAD>
 <BODY>
 <fmt:message bundle="${message}" key="GREETING" />
 <br>
 <c:if test="${!empty param.id}">
 <fmt:message bundle="${message}" key="VISITOR">
  <fmt:param value="${param.id}" />
 </fmt:message>

 </c:if>
 </BODY>
</HTML>

 

==========================================================================================

 

6. <fmt:formatNumber> : 숫자 형식을 표현할 때 사용한다.

<fmt:formatNumber value="numericValue" type="number | currency | percent" pattern="customPattern" currencyCode="currencyCode" currencySymbol="currencySymbol" groupingUsed="true | false" maxIntegerDigits="maxIntegerDigits" minIntegerDigits="minIntegerDigits" maxFractionDigits="maxFractionDigits" minFractionDigits="minFractionDigits" var="varName" scope="page | request | sesseion | application" />

- value : Number로 형식화될 수치 지정

- type  숫자, 통화, 퍼센트 중 어느 것으로 표시할 것인지 지정

- pattern : 사용자가 지정한 형식 패턴 지정

- currencyCode : ISO 4217 통화 코드 지정. 통화 형식일 때만 적용

- currencySymbol : 통화 기호 지정. 통화 형식일 때만 적용

- groupingUsed : 출력에 그룹 분리 기호를 포함할지 여부를 지정

- maxIntegerDigits : 출력에서 integer 최대 자릿수 지정

- minIntegerDigits : 출력에서 integer 최소 자릿수 지정

- maxFractionDigits : 출력에서 소수점 이하 최대 자릿수 지정

- minFractionDigits : 출력에서 소수점 이하 최소 자릿수 지정

 

7. <fmt:formatDate> : 날짜 형식을 표현할 때 사용한다.

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

- value : 형식화될 Date와 Time 지정

- type : 형식화할 데이터가 시간, 날짜, 모두의 세 형식 중 하나를 지정

- dateStyle : type 속성을 생략하거나 date 또는 both 일 때 사용하는 것으로 미리정의된 날짜 형식 지정

- timeStyle : type 속성이 time 또는 both 일 때 사용하는 것으로 미리 정의된 시간 형식 지정

- pattern : 사용자 지정 형식 스타일 지정

- timeZone : java.util.TimeZone 형식으로 된 시간에 나타날 타임 존 지정

 

8. <fmt:timeZone> : 타임 존을 적용할 때 사용한다.

<fmt:timeZone value="timeZone"> body </fmt:timeZone>

- value : 적용할 시간대를 지정한다.

 

==========================================================================================

 

<%@ page contentType="text/html;charset=euc-kr" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:requestEncoding value="euc-kr" />
<HTML>
 <HEAD>
  <TITLE>fmt 태그의 포맷</TITLE>
 </HEAD>
 <BODY>
  <PRE>
  <fmt:setLocale value="ko_KR" />
  number : <fmt:formatNumber value="9876543.61" type="number" />

  currency : <fmt:formatNumber value="9876543.61" type="currency" />

  percent : <fmt:formatNumber type="percent">9876543.61</fmt:formatNumber>

  pattern=".000" : <fmt:formatNumber value="9876543.61" pattern=".000" />

  pattern="#,#00.0#" : <fmt:formatNumber value="9876543.612345" pattern="#,#00.0#" />
  <HR><!-- 날짜와 시간 -->
  <jsp:useBean id="now" class="java.util.Date" />
  <c:out value="${now}" />

  date : <fmt:formatDate value="${now}" type="date" />

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

  both : <fmt:formatDate value="${now}" type="both" />

  default : <fmt:formatDate value="${now}" type="both" dateStyle="default" timeStyle="default" />

  short : <fmt:formatDate value="${now}" type="both" dateStyle="short" timeStyle="short" />

  medium : <fmt:formatDate value="${now}" type="both" dateStyle="medium" timeStyle="medium" />

  long : <fmt:formatDate value="${now}" type="both" dateStyle="long" timeStyle="long" />

  full(KOR) : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" />
  <fmt:timeZone value="GMT">
  full(EU) : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" />
  </fmt:timeZone>
  </PRE>
 </BODY>
</HTML>

[출처] fmt 태그|작성자 토오르