728x90
1. 포매팅 태그 라이브러리 사용하기
JSP 페이지에서 가격, 날짜, 문자열을 원하는 형식으로 표시할 수 있다.
포매팅 태그 라이브러리 종류
분류 | 태그 | 설명 |
포매팅 | <fmt:timeZone> | 둘 다 지정한 국가의 시간을 지정하는 태그이다. 그러나 <fmt:timeZone> 태그의 경우 태그를 열고 닫는 영역 안에서만 적용된다는 차이점이 있다. |
<fmt:setTimeZone> | ||
<fmt:formatNumber> | 표시할 숫자의 형식을 지정한다. | |
<fmt:formatData> | 지정한 형식의 날짜를 표시한다. |
<formatNumber>태그의 여러 가지 속성
속성 | 설명 |
value | 출력될 숫자를 지정한다. |
type | 출력된 타입을 지정한다. percent인 경우 %, number인 경우 숫자, currency인 경우 통화 형식으로 출력한다. |
dateStyle | 날짜의 출력 형식을 지정한다. DateFormat 클래스의 full, long, medium, short 등이 지정되어 있다. |
groupingUsed | 콤마(,)등 기호로 구분 여부를 지정한다. 이 속성이 true이면 50000이 50,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 | 특정 나라 시간대로 시간을 설정한다. |
포매팅 태그 라이브러리 사용 실습
formatTest.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="java.util.Date"
pageEncoding="UTF-8"
isELIgnored="false" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<meta charset="UTF-8">
<title>포매팅 태그 라이브러리 예제</title>
</head>
<body>
<h2>fmt의 number 태그를 이용한 숫자 포맷팅 예제.</h2>
<c:set var="price" value="100000000" />
<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>
</body>
</html>
변수 price를 <fmt:formatNumber>태그를 이용해 숫자를 포매팅하고 price값을 각각의 형식에 맞체 출력한다. 이때 price의 값을 세 자리마다 콤마(,)로 구분해서 표시한다.
단, groupingUsed를 false로 설정한 경우에는 콤마를 표시하지 않으며 <fmt:formatNumber>태가의 var 속성에 설정한 priceNumber로 포매팅한 숫자를 표현 언어에서 출력한다.
2. 문자열 처리 함수 사용하기
자바에서 문자열 처리 기능을 JSTL에서 함수로 제공한다.
JSTL에서 제공하는 여러 가지 문자열 함수
함수 | 반환 | 설명 |
fn:contains(A,B) | boolean | 문자열 A에 문자열 B가 포함되어 있는지 확인한다. |
fn:endWith(A,B) | boolean | 문자열 A의 끝이 B로 끝나는지 확인한다. |
fn:indexOf(A,B) | int | 문자열 A에서 B가 처음으로 위치하는 인덱스(index)를 반환한다. |
fn:length(A) | int | 문자열 A의 전체 길이를 반환한다. |
fn:replace(A,B,C) | String | 문자열 A에서 B까지 해당되는 문자를 찾아 C로 변환한다. |
fn:toLowerCase(A) | String | A를 모두 소문자로 변환한다. |
fn:toUpperCase(A) | String | A를 모두 대문자로 변환한다. |
fn:substring(A,B,C) | String | A에서 인덱스 번호 B에서 C까지 해당하는 문자열을 반환한다. |
fn:split(A,B) | String[] | A에서 B에서 지정한 문자열로 나누어 배열로 반환한다. |
fn:trim(A) | String | 문자열 A에서 앞뒤 공백을 제거한다. |
fnTest.jsp
<c:set var="title1" value="hello world!" />
<c:set var="title2" value="쇼핑몰 중심 JSP입니다!" />
<c:set var="str1" value="중심" />
<h2>여러 가지 문자열 함수 기능</h2>
title1="hello world"<br>
title2="쇼핑몰 중심 JSP 입니다.!"<br>
str1="중심"<br><br>
fn:length(title1)=${fn:length(title1) } <br>
fn:toUpperCase(title1)=${fn:toUpperCase(title1)}<br>
fn:toLowerCase(title1)=${fn:toLowerCase(title1)}<br><br>
fn:substring(title1,3,6)=${fn:substring(title1,3,6)}<br>
fn:trim(title1)=${fn:trim(title1)}<br>
fn:replace(title1," ","/")=${fn:replace(title1," ","/")}<br><br>
fn:indexOf(title2,str1)=${fn:indexOf(title2,str1) }<br>
fn:contains(title1,str1)=${fn:contains(title1,str1) }<br>
fn:contains(title2,str1)=${fn:contains(title2,str1) }<br>
참고 : ⌜자바 웹을 다루는 기술⌟ 책을 공부하며 요약・정리한 내용입니다.
728x90
'💻 Web_Back end > JSP' 카테고리의 다른 글
[JSP] 마이바티스 프레임워크 사용하기 (0) | 2023.05.18 |
---|---|
JSP에서 파일 업로드와 다운로드 (1) | 2023.05.05 |
[JSTL] 다국어 태그 라이브러리 사용하기 (1) | 2023.05.05 |
[JSTL] JSP 표준 태그 라이브러리 (0) | 2023.05.03 |
표현언어 내장객체 (requesetScope, pageContext, Collection, HashMap, has-a) (0) | 2023.05.02 |