fmt 태그 라이브러리
fmt 태그 라이브러리 종류는 다음과 같습니다.
분류 | 태그 | 기능 |
다국어 | <fmt:setLocale> | Locale(언어) 을 지정합니다. |
<fmt:message> | 지정한 언어에 해당하는 언어를 표시합니다. | |
<fmt:setBundle> | 사용할 번들을 지정합니다. | |
<fmt:setParam> | 전달할 매개변수를 지정합니다. | |
<fmt:requestEncoding> | 요청 매개변수의 문자 인코딩을 지정합니다. | |
포매팅 | <fmt:timeZone> | 지정한 국가의 시간을 지정합니다. 태그를 열고 닫는 영역에만 적용됩니다. |
<fmt:setTimeZone> | 지정한 국가의 시간을 지정합니다. | |
<fmt:formatNumber> | 표시할 숫자의 형식을 지정합니다. | |
<fmt:fotmatDate> | 지정한 형식의 날짜를 표시합니다. |
다국어 태그 라이브러리
다국어 기능을 사용하려면 미리 한글을 아스키 코드로 변환한 형태로 저장하고 있다가 요청 시 이 아스키 코드를 다시 한글 변환해서 표시합니다.
먼저 이클립스에 한글을 아스키 코드로 변환하는 기능을 제공하는 Properties Editor 플러그인을 설치합니다.
이클립스 상단 메뉴에서 Help - Install New Software 를 선택합니다.
Add... 을 클릭합니다.
Name 과 Location 을 입력하고 Add 를 클릭합니다.
PropertiesEditor 항목을 선택한 후 Next 를 클릭합니다.
Install Details 화면에서 Next 를 클릭합니다.
Review Licenses 화면에서 동의를 체크하고 Finish 를 클릭합니다.
재실행할지를 물어보면 Restart Now 를 클릭합니다.
한글 아스키 파일 생성
프로젝트의 src 폴더의 resource 패키지를 생성한 후 마우스 오른쪽 버튼 클릭 후 New - Other... 을 클릭합니다.
General 항목에 File 을 선택한 후 Next 를 클릭합니다.
파일 이름을 입력한 후 Finish 를 클릭합니다.
같은 방법은 member_ko.properties 와 member_en.properties 파일을 생성합니다.
member.properties 파일을 열어 key = value 정보를 한글로 작성합니다.
작성한 정보 전체를 드래그 하여 마우스 오른쪽 버튼 클릭 후 Unicode 표시를 클릭합니다.
변환된 내용을 복사해서 member_ko.properties 에 붙여넣고 저장합니다.
member_en.properties 은 그냥 영어로 작성합니다.
JSP 다국어 표시
아스키 코드 한글과 영어 표시
// 태그 라이브러리 설정
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
...
// 주석 해제해서 확인
// 영어로 표시
<%-- <fmt:setLocale value="en_US" /> --%>
// 한글로 표시
<fmt:setLocale value="ko_KR" />
<h1>
회원정보<br>
<br>
<fmt:bundle basename="resource.member">
이름:<fmt:message key="mem.name" />
<br>
주소:<fmt:message key="mem.address" />
<br>
직업:<fmt:message key="mem.job" />
</fmt:bundle>
</h1>
...
웹 브라우저에서 요청하면 설정한대로 회원 정보를 출력합니다.
한글 locale 을 주석 처리하고 영어 locale 을 주석 해제해서 확인해보시기 바랍니다.
포매팅 태그 라이브러리
JSTL 포매팅 라이브러리를 사용하면 쉽게 원하는 형태로 숫자, 날짜, 문자열을 표시할 수 있습니다.
<fmt:formatNumber> 태그 속성
속성 | 설명 |
value | 출력될 숫자를 지정합니다. |
type | 출력될 타입을 지정합니다. pattern 인 경우 %, number 인 경우 숫자, currency 인 경우 통화 형식으로 출력합니다. |
dateStyle | 날짜의 출력 형식을 지정합니다. DateFormat 클래스의 full, long, medium, short 등이 지정되어 있습니다. |
groupingUsed | 콤마(,) 등 기호로 구분 여부를 지정합니다. 이 속성이 true 이면 10000 을 10,000 으로 표시합니다. 기본값은 true 입니다. |
currencyCode | 통화 코드를 지정합니다. 한국 원하는 KRW 입니다. |
currentSimbol | 통화를 표시할 때 사용할 기호를 표시합니다. |
var | <formatNumber> 태그 결과를 저장할 변수의 이름을 지정합니다. |
scope | 변수의 접근 범위를 지정합니다. |
pattern | 숫자가 출력될 양식을 지정합니다. 자바의 DecimalFormat 클래스에 정의된 형식을 따릅니다. |
<formatDate> 태그 속성
속성 | 설명 |
value | 포맷될 날짜를 지정합니다. |
type | 포매팅할 타입을 지정합니다. date 인 경우 날짜만, time 인 경우 시간만, both 인 경우 둘다 지정합니다. |
dateStyle | 날짜의 출력 형식을 지정합니다. DateFormat 클래스의 full, long, medium, short 등이 지정되어 있습니다. |
timeStyle | 시간 출력 형식을 지정합니다. 자바 클래스의 DateFormat 에 정의된 형식을 사용합니다. |
pattern | 직접 출력 형식을 지정합니다. 자바 클래스의 SimpleDateFormat 에 지정된 패턴을 사용합니다. |
timeZone | 특정 나라 시간대로 시간을 설정합니다. |
포매팅 태그 라이브러리 예제
// 태그 라이브러리 선언 필수
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
...
<h2>formatNumber 예제.</h2>
<c:set var="price" value="1000000000" />
<fmt:formatNumber value="${price}" type="number" var="priceNumber" />
통화 :
<fmt:formatNumber type="currency" currencySymbol="₩" value="${price}"
groupingUsed="true" />
<br> 퍼센트 :
<fmt:formatNumber value="${price}" type="percent" groupingUsed="false" />
<br> 일반 숫자 : ${priceNumber}
<br>
<h2>formatDate 예제</h2>
<c:set var="now" value="<%=new Date()%>" />
<fmt:formatDate value="${now }" type="date" dateStyle="full" />
<br>
<fmt:formatDate value="${now }" type="date" dateStyle="short" />
<br>
<fmt:formatDate value="${now }" type="time" />
<br>
<fmt:formatDate value="${now }" type="both" dateStyle="full"
timeStyle="full" />
<br>
<fmt:formatDate value="${now }" pattern="YYYY-MM-dd :hh:mm:ss" />
<br>
<br>
<br> 한국 현재 시간:
<fmt:formatDate value="${now }" type="both" dateStyle="full"
timeStyle="full" />
<br>
<br>
<fmt:timeZone value="America/New York">
뉴욕 현재 시간:<fmt:formatDate value="${now }" type="both"
dateStyle="full" timeStyle="full" />
<br>
</fmt:timeZone>
여기까지 임미다.
'개발 > Java' 카테고리의 다른 글
스프링부트 시작하기 + 개발준비 (1) | 2023.09.18 |
---|---|
로또번호 생성기 - Notice Lotto 사이트 오픈 (0) | 2023.06.21 |
메이븐(Maven) 설치하기 (0) | 2022.11.09 |
[JAVA - WEB] JSP 표준 태그 라이브러리(JSTL) - fn (0) | 2022.11.07 |
[JAVA - WEB] JSP 표준 태그 라이브러리(JSTL) - Core (0) | 2022.11.06 |
[JAVA - WEB] JSP 표현 언어(Expression Language) (0) | 2022.11.06 |
[JAVA - WEB] JSP 액션 태그(Action Tag) (0) | 2022.11.06 |
[JAVA - WEB] JSP 내장 객체(내장 요소) (0) | 2022.11.06 |
[JAVA - WEB] JSP 스크립트 요소 (0) | 2022.11.06 |
[JAVA - WEB] JSP 정의와 구성 요소 (0) | 2022.11.06 |