티스토리 뷰
[jsp10강] JSTL FORMATTING 태그 사용법
이번글에서는 JSTL 태그중 간간히 쓰이는 formatting 태그에 대해서 알아보겠습니다.
formatting 태그는 쉽개 생각하시면 됩니다.
데이터 타입들을 자신이 원하는 종류로 변경할수 있다고 생각하시면됩니다..
즉 형변환으로 많이 사용한다고 보면 됩니다.
설명에 들어가기전 JSTL 무엇인지 모르거나.. 태그의종류 및 라이브러리 설정법이 모르시면..
아래링크를 참조해주세요!
이전 글 링크
[jsp7강] JSTL 태그 종류 --> 2018/10/12 - [Programming/JSP, JSTL] - [jsp7강] JSTL 태그 종류
[jsp8강] JSTL 사용법 (JSTL 라이브러리 추가방법, JSTL 선언) --> 2018/10/14 - [Programming/JSP, JSTL] - [jsp8강] JSTL 사용법 (JSTL 라이브러리 추가방법, JSTL 선언)
그럼이제 JSTL FORMATTING 태그들의 사용법을 예제를통해서 하나하나씩 알아보겠습니다.
(관련있는 태그들을 묶어서 설명하였습니다.)
1. setLocale, requestEncoding (로케일 지정)
1. <fmt :setLocale>, <fmt:reqestEncoding> 태그
reqestEncoding 태그는 reqest 파라미터의 인코딩설정을 하는 태그이다.
( <% request.setCharacterEncoding("");%> 태그와 동일하다..)
setLocale 태그는 지역을 설정하는 태그이다.
하지만 스프링을 사용한다면.. 다국어를 지원하기에.. 별로 쓸일이 없다..
문법은 요렇게 쓰시면 됩니다.
사용 문법
<fmt:requestEncoding [value="charsetName"]/>
<fmt:setLocale value="locale" [variant="variant"] [scope="{page|request|session|application}"]/>
charsetName : 인코딩 타입을 넣어주시면 됩니다.
variant : 브라우저스팩
scope : 적용 범위
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <%@page import="java.util.List"%> <%@page import="java.util.ArrayList"%> <%@page import="java.util.Map"%> <%@page import="java.util.HashMap"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <!-- request 인코딩 설정 --> <fmt:requestEncoding value="UTF-8"/> <div> requestEncoding : <%= request.getCharacterEncoding() %> </div> <!-- 지역확인 및 적용 --> <div> default locale : <%= response.getLocale() %> </div> <div> set locale : ko <fmt:setLocale value="ko" /> now: <%= response.getLocale() %> </div> <div> set locale : ja <fmt:setLocale value="ja" /> now: <%= response.getLocale() %> </div> <div> set locale : en <fmt:setLocale value="en" /> now: <%= response.getLocale() %> </div> </body> </html> | cs |
실행결과 및 설명
<fmt:requestEncoding value="UTF-8"/>
request 인코딩을 utf-8 로 적용해보았고.. 출력해보았다.
그결과 적용이 된걸 확인할수 있고..
<fmt:setLocale value="ko" />
setLocale 을 사용하여 locale 을 변경하여 출력해보았다..
바뀐것을 확인할수있다.
2. bundle, massage, setBundle (메시지 처리)
2-1. <fmt:bundle>, <fmt:massage>, <fmt:setBundle> 태그
다국어를 처리할때 사용하는 태그이다..
fmt:setLocale 나라를 변경한후.. 그나라에 맞는 메시지를 갖어와서 쓸수있다.
문법은 다음과 같고.. 응용해서 쓸수 있는 문법이 많아.. 예제를 살펴보면 쉽게 이해할수 있습니다.
사용 문법
<fmt:bundle basename="properties 파일 위치"></fmt:bundle>
<fmt:message key="properties 파일 안에 적어놓은 키명">
<fmt:setBundle var="변수명" basename="properties 파일 위치" />
예제
(properties 파일을 만드는법은.. 이클립스로 만든다면..
오른쪽마우스 -> new -> Greneral -> Untitled Tesxt File -> 저장하실때 .properties 붙여서 저장하면 됩니다!)
1. jstl_ko.properties 파일
1 | localeMessage=koMessage. | cs |
1 | localeMessage=jaMessage. | cs |
1 | localeMessage=enMessage. | cs |
4. jsp 파일
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | <%@page import="java.util.List"%> <%@page import="java.util.ArrayList"%> <%@page import="java.util.Map"%> <%@page import="java.util.HashMap"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <!-- 첫번째 문법 --> <!-- 한국어 --> <div> <fmt:setLocale value="ko" /> <fmt:bundle basename="com.gukv.blog.jstl.jstl" > <fmt:message>localeMessage</fmt:message> </fmt:bundle> </div> <!-- 일본어 --> <div> <fmt:setLocale value="ja" /> <fmt:bundle basename="com.gukv.blog.jstl.jstl" > <fmt:message>localeMessage</fmt:message> </fmt:bundle> </div> <!-- 영어 --> <div> <fmt:setLocale value="en" /> <fmt:bundle basename="com.gukv.blog.jstl.jstl" > <fmt:message>localeMessage</fmt:message> </fmt:bundle> </div> <!-- 두번째 문법 --> <div> <fmt:setLocale value="ko" /> <fmt:setBundle basename="com.gukv.blog.jstl.jstl"/> <fmt:message key="localeMessage" /> </div> <div> <fmt:setLocale value="ja" /> <fmt:setBundle basename="com.gukv.blog.jstl.jstl"/> <fmt:message key="localeMessage" /> </div> <div> <fmt:setLocale value="en" /> <fmt:setBundle basename="com.gukv.blog.jstl.jstl"/> <fmt:message key="localeMessage" /> </div> </body> </html> | cs |
실행결과 및 설명
우선 패키지를 하나 편한대로 만들어줍니다.
그패키지 안에 다국어를 지원할 properties 파일을 만들어줍니다.
저는 3개국어를 지원한다고 생각하고 한글, 일본어, 영어 이렇게 3개의 파일을 만들었습니다.
properties 파일을 만들때는 규칙이 있습니다.
만약 파일명이 tstl.properties 파일을 만들어주고 한국어를 적어 놓으실꺼면 "_ko" 를 붙여서 만들어 주셔야합니다.
tstl_ko.properties 요렇게 만들면 한국어가 들어가는 properties 를 만든것이고..
tstl_en.properties 요렇게 만들면 영어가 들어가는 properties 를 만든것입니다..
("_" 다음에 국가코드를 붙이면 됩니다...)
이렇게해서 다국어 파일만들기가 끝나면 이제 번들과 메시지 태그로 사용하시면됩니다.
3. formatNumber, formatDate, parseDate, parseNumber, setTimeZone, timeZone (숫자, 날짜 포맷팅)
3. <fmt:formatNumber>, <fmt:formatDate>, <fmt:parseDate>, <fmt:parseNumber>, <fmt:setTimeZone>, <fmt:timeZone> 태그
쉽게 생각해서 포멧형태를 맞춰주거나 형변환을하여 사용하는 태그라고 생각하시면됩니다.
간간히 사용을하기때문에 필요하실때 사용하면 좋은 태그입니다.
사용 문법
1. 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|session|application}"]/>
2. 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|session|application}"]/>
3. parseDate
formatDate 의 반대계념이다. 형식이 되어있을때 날짜만 추출하는것 이다.
<fmt:parseDate value="dateString" [type="{time|date|both}"] [dateStyle="{default|short|medium|long|full}"] [timeStyle="{default|short|medium|long|full}"] [pattern="customPattern"] [timeZone="timeZone"] [parseLocale="parseLocale"] [var="varName"]
[scope="{page|request|session|application}"]/>
4. parseNumber
formatNumber 의 반대의 개념이다. 정해진 형태에서 숫자만 추출을 하는것.
<fmt:parseNumber value="numericValue" [type="{number|currency|percent}"] [pattern="customPattern"] [parseLocale="parseLocale"]
[integerOnly="{true|false}"] [var="varName"] [scope="{page|request|session|application}"]/>
5. setTimeZone
특정 스코프의 타임 존을 설정하거나 부분을 적용한다.
<fmt:setTimeZone value="timeZone" [var="varName"] [scope="{page|request|session|application}"]/>
6. timeZone
특정 스코프의 타임 존을 설정하거나 부분을 적용한다.
<fmt:timeZone value="timeZone"> </fmt:timeZone>
글을 마치며..
jstl 에서 종종쓰이는 쓰이는 formatting 에 대해서 알아보았습니다.
데이터의 형변환으로 많이 사용하니 알아두시길 바랍니다.
정리
1. jstl formatting 태그는 형변환을 위해 은근 사용한다.
2. jstl formatting 태그는 하지만 대체되는 곳이 많아 많이는 사용하지 않는다..
(상위에서 미리 형변환을 해서 넘겨주거나.. 스크립트 함수로 일괄적으로 변경할수이도 있기에..가끔 사용됨)
이상으로 JSTL FORMATTING 태그 사용법에 대해서 알아보았습니다.
수고하세요!
도움이 되셨다면 로그인 없이 가능한
아래 하트♥공감 버튼을 꾹 눌러주세요!
'Programming > JSP, JSTL' 카테고리의 다른 글
[jsp12강] JSTL XML 태그 사용법 (0) | 2019.02.03 |
---|---|
[jsp11강] JSTL SQL 태그 사용법 (0) | 2018.11.01 |
[jsp9강] JSTL CORE 태그 사용법 (0) | 2018.10.15 |
[jsp8강] JSTL 사용법 (JSTL 라이브러리 추가방법, JSTL 선언) (0) | 2018.10.14 |
[jsp7강] JSTL 태그 종류 (0) | 2018.10.12 |
- Total
- Today
- Yesterday
- 자바스크립트
- 초대장
- 별정통신사 저렴한 요금제
- 티스토리 초대장
- 알뜰통신사 저렴한 요금제
- 0원 요금제
- 티스토리
- 티스토리 블로그
- 저렴한 요금제
- 알뜰통신 저렴한 요금제
- 티스토리초대장확인
- 별정 저렴한 요금제
- 자바
- 정보처리기사
- 티스토리 가입
- jsp 태그
- 핸드폰 저렴한 요금제
- 핸드폰 싼 요금제
- 무실적 체크카드
- Javascript
- 핸드폰 만원 미만 요금제
- 별정통신 저렴한 요금제
- java
- 제이쿼리
- 제주도가볼만한곳
- 1000원 요금제
- JQuery
- 알뜰폰 저렴한 요금제
- 알뜰 저렴한 요금제
- 조던
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |