** ๐JSTL ๊ตญ์ ํ + ๋ ์ง/์ซ์ ํฌ๋งท ์ฒ๋ฆฌ (fmt: ํ๊ทธ ์์ ์ ๋ณต) **
โ ๋ชฉ์ฐจ
- JSTL fmt ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋?
- taglib ์ ์ธ ๋ฐฉ๋ฒ
- ๋ ์ง ํฌ๋งท
<fmt:formatDate>
- ์ซ์ ํฌ๋งท
<fmt:formatNumber>
- ๋ค๊ตญ์ด ๋ฉ์์ง ์ฒ๋ฆฌ (
<fmt:setLocale>
,<fmt:message>
) - ์ค๋ฌด ํ์ฉ ์์
- ๊ธฐ์ ๋ฉด์ ๋๋น ์์ฝ
- ๋ง๋ฌด๋ฆฌ ์ ๋ฆฌ
1๏ธโฃ JSTL fmt ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋?
๐ JSTL์ fmt ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ ์ง/์ซ์ ํฌ๋งท ์ฒ๋ฆฌ, ๋ค๊ตญ์ด ์ถ๋ ฅ(i18n), ๋ก์ผ์ผ ๋ณ๊ฒฝ ๋ฑ์ ๋ด๋นํฉ๋๋ค.
โ ์ค๋ฌด์์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ํ์์ ๋๋ค:
- ๋ ์ง๋ฅผ โyyyy-MM-ddโ๋ก ์ถ๋ ฅ
- ๊ฐ๊ฒฉ์ 3์๋ฆฌ๋ง๋ค ์ผํ ๋ถ์ฌ ์ถ๋ ฅ
- ์ธ์ด์ ๋ฐ๋ผ ๋ฉ์์ง ๋ณ๊ฒฝ
2๏ธโฃ taglib ์ ์ธ ๋ฐฉ๋ฒ
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
3๏ธโฃ ๐ ๋ ์ง ํฌ๋งท ์ฒ๋ฆฌ - <fmt:formatDate>
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd HH:mm:ss" />
์์ฑ | ์ค๋ช |
---|---|
value |
์ถ๋ ฅํ ๋ ์ง(Date ๊ฐ์ฒด) |
pattern |
๋ ์ง ํ์ (์๋ฐ SimpleDateFormat) |
type |
date , time , both (๊ธฐ๋ณธ ๋ ์ง/์๊ฐ ํ์) |
๐น ์์:
<jsp:useBean id="now" class="java.util.Date" />
<p>ํ์ฌ ์๊ฐ: <fmt:formatDate value="${now}" type="both" /></p>
4๏ธโฃ ๐ฐ ์ซ์ ํฌ๋งท ์ฒ๋ฆฌ - <fmt:formatNumber>
<fmt:formatNumber value="${price}" type="number" />
์์ฑ | ์ค๋ช |
---|---|
type |
number , currency , percent |
minFractionDigits |
์์์ ์ต์ ์๋ฆฌ์ |
maxFractionDigits |
์์์ ์ต๋ ์๋ฆฌ์ |
๐น ์์:
<fmt:formatNumber value="1234567.89" type="number" /> <!-- 1,234,567.89 -->
<fmt:formatNumber value="0.87" type="percent" /> <!-- 87% -->
<fmt:formatNumber value="50000" type="currency" /> <!-- โฉ50,000 ๋๋ $50,000 -->
5๏ธโฃ ๐ ๋ค๊ตญ์ด ๋ฉ์์ง ์ฒ๋ฆฌ
โ
โ ๋ก์ผ์ผ ์ค์ : <fmt:setLocale>
<fmt:setLocale value="ko_KR" />
ko_KR
: ํ๊ตญ์ดen_US
: ์์ดja_JP
: ์ผ๋ณธ์ด
โ
โก ๋ฆฌ์์ค ๋ฒ๋ค ์ง์ : <fmt:setBundle>
<fmt:setBundle basename="message" />
/WEB-INF/classes/message_ko_KR.properties
/WEB-INF/classes/message_en_US.properties
โ
โข ๋ฉ์์ง ์ถ๋ ฅ: <fmt:message>
<fmt:message key="greeting" />
๐น message_ko_KR.properties
greeting=์๋
ํ์ธ์!
๐น message_en_US.properties
greeting=Hello!
6๏ธโฃ ์ค๋ฌด ํ์ฉ ์์
๐ธ ๋ ์ง ์ถ๋ ฅ
<jsp:useBean id="today" class="java.util.Date" />
<fmt:formatDate value="${today}" pattern="yyyy-MM-dd" />
๐ธ ์ซ์ ์ถ๋ ฅ
<fmt:formatNumber value="1250000" type="number" />
๐ธ ๋ค๊ตญ์ด ๋ฉ์์ง ์ถ๋ ฅ
<fmt:setLocale value="en_US" />
<fmt:setBundle basename="msg" />
<p><fmt:message key="login.title" /></p>
7๏ธโฃ ๊ธฐ์ ๋ฉด์ ๋๋น ์์ฝ
์ง๋ฌธ | ๋ต๋ณ ์์ฝ |
---|---|
โ JSTL๋ก ๋ ์ง ํฌ๋งท์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์? | <fmt:formatDate> ํ๊ทธ์ Date ๊ฐ์ฒด๋ฅผ ๋ฃ๊ณ pattern ๋๋ type์ ์ง์ ํฉ๋๋ค. |
โ ์ซ์์ ์ผํ๋ % ๊ธฐํธ ๋ถ์ด๋ ๋ฐฉ๋ฒ์? | <fmt:formatNumber> ๋ฅผ ์ฌ์ฉํ๊ณ type์ number , percent ๋ฑ์ผ๋ก ์ง์ ํฉ๋๋ค. |
โ ๊ตญ์ ํ๋ฅผ ์ํด JSTL์์ ์ด๋ค ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋์? | <fmt:setLocale> , <fmt:setBundle> , <fmt:message> ์กฐํฉ์ผ๋ก ๋ค๊ตญ์ด ์ฒ๋ฆฌ |
โ ๋ฉ์์ง ๋ฒ๋ค ํ์ผ ์์น๋? | WEB-INF/classes ๋๋ ํด๋์คํจ์ค ํ์์ .properties ํ์์ผ๋ก ๋๊ณ basename์ผ๋ก ์ ๊ทผ |
8๏ธโฃ ๋ง๋ฌด๋ฆฌ ์ ๋ฆฌ
๐ JSTL์ fmt ํ๊ทธ๋ ๋ ์ง, ์ซ์, ๋ค๊ตญ์ด ์ถ๋ ฅ์ ๋ด๋นํ๋ ํต์ฌ ๋๊ตฌ์ ๋๋ค.
์ค๋ฌด์์๋ ๊ธ์ก ํ์, ๋ ์ง ํฌ๋งท, ๋ค๊ตญ์ด ๋ฉ์์ง ์ถ๋ ฅ ๋ฑ
EL๋ง์ผ๋ก ๋ถ๊ฐ๋ฅํ ๋ถ๋ถ์
fmt
๋ก ํด๊ฒฐํฉ๋๋ค.
<fmt:formatDate>
โ ๋ ์ง ํฌ๋งท ์ฒ๋ฆฌ<fmt:formatNumber>
โ ๊ฐ๊ฒฉ, ๋น์จ ๋ฑ ์ซ์ ํฌ๋งท<fmt:message>
โ i18n ๋ค๊ตญ์ด ์ฒ๋ฆฌ