ここからは色々な言語を考慮したコードとなります
core宣言以外にも別の宣言がいります。
<%@ taglib prefix="fmt"
uri="http://java.sun.com/jsp/jstl/fmt" %>
fmtを宣言した後、urlをリンクしてください。
1. コード
<h1>JSTL <fmt:reqeustEncoding> 태그</h1>
<form method="post">
<input type="text" name="userName" placeholder="이름 입력" />
<input type="submit" value="제출" />
</form>
<hr/>
<h2>submit 결과 표시</h2>
<%-- request.setCharacterEncoding("UTF-8"); --%>
<fmt:requestEncoding value="UTF-8" />
이름: ${param.userName}<br/>
1. 結果
簡単なコードですが
fmt:requestEncodingを利用し、エンコードしてみました。
2. コード
<h1>JSTL <fmt:formatNumber> 태그</h1>
<fmt:formatNumber value="123456789.123456789">
</fmt:formatNumber>
<br/>
<fmt:formatNumber value="123456789.123456789"
groupingUsed="false">
</fmt:formatNumber>
<br/>
<fmt:formatNumber value="123456789.123456789"
maxFractionDigits="5">
</fmt:formatNumber>
<br/>
<fmt:formatNumber value="0.51" type="percent">
</fmt:formatNumber>
<br/>
<fmt:formatNumber value="1234" type="currency"
currencySymbol="$" />
<br/>
2. 結果
通話や数字、%を表現するとき必要なコードです。
3. コード
<h1>JSTL <fmt:formatDate> 태그</h1>
<%-- 現在の時間を記します。 --%>
<fmt:formatDate value="${now}" type="both"/>
<br/>
<%-- type 属性: date オブジェクトをどう表現するかを決めます。
1) date: 日付
2) time: 時間
3) both: 日付、時間
--%>
<fmt:formatDate value="${now}" type="both"
dateStyle="full" timeStyle="full" />
<br/>
<%-- dateStyle 属性: 日付をどう表現するか決めます。
1) long: year, month, day, day of week
2) short: year, month, day
3) full: year, month, day, day of week
timeStyle 属性: 時間をどう表現するか決めます。
1) long: hour, miniute, second
2) short: hour, miniute
3) full: hour, miniute, second, 地域標準時間
--%>
<%-- pattern 属性: 日付/時間を表現するパータンを決めます。--%>
<fmt:formatDate value="${now}"
pattern="yyyy/MM/dd HH:mm:ss"/>
<br/>
3. 結果
4. コード
<h1>JSTL <fmt:setLocale> 태그</h1>
<fmt:setLocale value="ja_JP"/>
<%-- ロケイル(ロケール):数字、通話、時間などの文字をどのように表示するか
ロケイル設定方式:言語コード_国歌
ko_KR:韓国語_韓国
en_US:英語_米国
en_UK:英語_英国
zh_CN:中国_中国(間接、簡体字中国語)
zh_TW:中国語(台湾語、繁体字中国語)
ja_JP:日本_日本
de_DE:ドイツ_ドイツ
fr_FR:フランス_フランス
- %>
<c:set var="now" value="<%=new Date() %>"></c:set>
<fmt:formatDate value="${now}" type="both"
dateStyle="full" timeStyle="full" />
<br/>
<fmt:formatNumber value="1000.50" type="currency" />
<br/>
<fmt:formatNumber value="1000.50" />
4. 結果
setLocaleを使って国家設定をしました。
5. コード
<h1>JSTL <fmt:bundle> 태그</h1>
<fmt:setLocale value="ko_KR"/>
<fmt:bundle basename="edu.web.i18n.login">
<form>
<fmt:message key="login.label.id" />:
<input type="text" name="userId" />
<br/>
<fmt:message key="login.label.pw" />:
<input type="password" name="userPwd" />
<br/>
<fmt:message key="login.btn.login" var="btn_login" />
<input type="submit" value="${btn_login}" />
</form>
</fmt:bundle>
</body>
5. 結果
ここのIDとパスワードは属性のデータです。
i18n パッケージから持って来ています。
下はUSと login.propertiesの 中身です。
login.label.id=User IDlogin.label.pw=Passwordlogin.btn.login=Log In
KRの中身です。
login.label.id=\uC544\uC774\uB514 login.label.pw=\uBE44\uBC00\uBC88\uD638 login.btn.login=\uB85C\uADF8\uC778
6. コード
<c:choose>
<c:when test="${param.lang eq 'ko'}">
<c:set var="lang" value="ko_KR" />
</c:when>
<c:when test="${param.lang eq 'en'}">
<c:set var="lang" value="en_US" />
</c:when>
<c:otherwise>
<c:set var="lang" value="ko_KR" />
</c:otherwise>
</c:choose>
<fmt:setLocale value="${lang}" />
<fmt:setBundle basename="edu.web.i18n.login" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Insert title here</title>
</head>
<body>
<h1>로그인 양식</h1>
<ul>
<li><a href="14_bundle2.jsp?lang=ko">한국어</a></li>
<li><a href="14_bundle2.jsp?lang=en">영어</a></li>
</ul>
<form>
<fmt:message key="login.label.id" />:
<input type="text" name="userId" />
<br/>
<fmt:message key="login.label.pw" />:
<input type="password" name="userPwd" />
<br/>
<fmt:message key="login.btn.login" var="btn_login" />
<input type="submit" value="${btn_login}" />
</form>
6. 結果
まず choose コードでどの言語で処理するか決めます。
hrefコードに国家設定を変えてくれる機能が付いています。
댓글 없음:
댓글 쓰기