@ 주제 

 

JSTL: fmt 사용법

 

@ 목적 

JSTL: fmt 사용법을 알아본다 

 

@ 내용 

JSTL: fmt

국제화 및 지역화 태그로 다국어 문서를 처리할 때 유용하고, 날짜와 숫자 형식을 다룰 때 사용된다. I18N - 국제화(Internationalization) 태그라고도 한다.

기능: 지역, 메시지 형식, 숫자 및 날짜형식

선언 : <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

 

requestEncoding

request.setCharacterEncoding() 역할이 같다.

<fmt:requestEncoding [value="charsetName"]/>

 

setLocale

다국어를 지원하는 페이지를 만들때 ResourceBundle로 불러오는 properties 파일들과 연계하여 사용한다.

<fmt:setLocale value="locale"   [variant="variant"] [scope="{page|request|session|application}"]/>

<pre>

<%=response.getLocale()%> <!-- ko_KR -->

 

<fmt:setLocale value="ko"/>

<%=response.getLocale()%> <!-- ko -->

<fmt:setLocale value="ja"/>

<%=response.getLocale()%> <!-- ja -->

<fmt:setLocale value="en"/>

<%=response.getLocale()%> <!-- en -->

</pre>

 

 

bundle

properties 확장자를 사용하는 자원 파일을 읽어오는 역할을 한다.

<fmt:bundle basename="basename" [prefix="prefix"]>

     body content

</fmt:bundle>

basename 속성에 지정된 properties 파일을 찾아서 locale에 따라 읽어들인다.  

 

properties 파일은 보통 WEB-INF/classes 아래에 위치하며 디렉토리의 깊이에 따라서 패키지형식의 이름을 취한다. TestBundle.properties 파일이com/itexpert/test/msg 디렉토리에 있다면 basename="com.itexpert.test.msg.TestBundle"  이라고 지정하면 된다.

 

locale이 ko라면 TestBundle_ko.properties 파일을 읽어오게 되며, locale이 맞지 않는 경우에는 TestBundle.properties처럼 코드가 붙지 않은 파일을 읽어온다.

 

prefix 속성은 key 명칭이 공통적인 부분을 지정해서 body에서 표현되는 key를 단축시킨다. import 에서 패키지 명을 지정하면 클래스명만 쓸 수 있는 것과 같이 생각할 수  있다.

 

 

setBundle

페이지 전체에서 사용할 수 있는 번들을 지정한다. var 속성에 명시한 변수를 <fmt:message/>태그에서 basename 속성으로 대체할 수 있다.

 

<fmt:setBundle  basename="basename"

        [var="varName"]

        [scope="{page|request|session|application}"]/>

 

 

message

프로퍼티즈에  사용할 값들을 적어 놓은 뒤  여러 페이지에서 사용하고자 할때  사용하면 좋아유

여러 페이지에 사용되는 값들을 하나의 파일을 수정하므로 모두 적용할 수 있으니

다양한 곳에서 사용되는 같은 값들은  프로퍼티즈에  작성한 후 사용하면 편합니다.

 

 

<fmt:setLocale value="en"/>

<fmt:setBundle basename="com.tutorialspoint.Example" var="lang"/>

<fmt:message key="count.one" bundle="${lang}"/><br/>

<fmt:message key="count.two" bundle="${lang}"/><br/>

<fmt:message key="count.three" bundle="${lang}"/><br/>

해당 번들에 작성되어있는 count.one 의 값을 가져온다 .  

formatNumber

parseNumber

formatDate

parseDate

setTimeZone, timeZone

 

'기능 정리' 카테고리의 다른 글

Same-Origin Policy  (0) 2020.08.12
util 태그 라이브러리의 사용  (0) 2020.08.11
JSTL 이란  (0) 2020.08.11
JSTL Function (prefix : fn) 정리합니다.  (0) 2020.08.11
Json 정리  (0) 2020.08.11

+ Recent posts