태그

#JAVA

#JSP

#JSTL

#LIBRARY

JSP 표준 태그 라이브러리(JSTL - Formatting, Xml)

2021년 12월 15일 03:01

19-thumbnail-image

이 글은 골든래빗 출판사로부터 책을 제공받아 작성했습니다.

http://www.yes24.com/Product/Goods/105016218

분류태그명 & 기능
숫자 포맷- formatNumber : 숫자 포맷 설정
- parseNumber : 문자열을 숫자 포맷으로 변환
날짜 포맷- formatDate : 날짜, 시간 포맷 설정
- parseDate : 문자열을 날짜 포맷으로 변환
타임존 설정- setTimeZone : 시간대 설정 정보를 변수에 저장
- timeZone : 시간대를 설정
로케일 설정- setLocale : 통화 기호, 시간대를 설정한 지역에 맞게 표시
- requestEncoding : 요청 매개변수의 문자셋 설정

<fmt:formatNumber> 태그의 속성

  • value - 출력할 숫자 설정
  • type - 출력 양식 설정 (percent, currency, number 등 지원)
  • var - 출력할 숫자 변수 지정
  • groupingUsed - 세 자리마다 콤마 출력 여부 결정 (기본값 true)
  • pattern - 출력할 숫자 양식을 패턴으로 지정
  • scope - 변수를 저장할 영역 지정

<fmt:parseNumber> 태그의 속성

  • value - 변환할 문자열 설정
  • type - 문자열 타입 설정 (기본값 number)
  • var - 출력할 값을 변수에 저장
  • parttern - 문자열 양식을 패턴으로 지정
  • scope - 변수를 저장할 영역 지정
  • integerOnly - 정수 부분 표시 여부 (기본값 false)

<fmt:formatDate> 태그의 속성

  • value - 출력할 값 설정
  • type - 출력 시 date, time, both 세 가지 중 선택
  • var - 출력할 숫자를 변수에 저장
  • dateStyle - 날짜 스타일 지정 (default, short, medium, long, full)
  • timeStyle - 시간 스타일 지정 (default, short, medium, long, full)
  • pattern - 출력할 날짜 및 시간 양식을 패턴으로 지정
  • scope - 변수를 저장할 영역 지정

개인적으로 작성한 Formatting 예제

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL fmt 라이브러리</title>
</head>
<body>
	<c:set var="number" value="12345678" />
	<h1>숫자 출력</h1>
	<fmt:formatNumber value="${number}" />
	
	<h1>Type 속성</h1>
	숫자 : <fmt:formatNumber value="${number}" type="number"/><br>
	숫자 3자리마다 쉼표 제거 : <fmt:formatNumber value="${number}" type="number" groupingUsed="false"/><br>
	
	<%-- percent 100% => 1 --%>
	100% : <fmt:formatNumber value="1" type="percent" /> <br>
	40% : <fmt:formatNumber value="0.4" type="percent" /> <br>
	
	통화 (원) : <fmt:formatNumber value="${number}" type="currency"/> <br>
	통화 (달러) : <fmt:formatNumber value="${number}" type="currency" currencySymbol="$"/> <br>
	
	<h1>var로 변수에 저장</h1>
	<fmt:formatNumber value="${number}" type="currency" currencySymbol="$" var="doller" />
	달러 EL로 출력 : ${doller}
	
	<h1>pattern</h1>
	3.14 <fmt:formatNumber value="3.14" /> <br>
	3.14 (0.0000) <fmt:formatNumber value="3.14" pattern="0.0000" /> <br>
	3.14 (#.####) <fmt:formatNumber value="3.14" pattern="#.####" /> <br>
	3.141592 (#.####) <fmt:formatNumber value="3.141592" pattern="#.####" /> <br>
	
	<hr>
	
	<h1>Date 객체를 String 형태로 출력 => fmt:formatDate</h1>
	
	<fmt:formatDate value="${today}" var="pattern1" pattern="yyyy년 MM월 dd일 HH시 mm분 ss초" />
	pattern1 : ${pattern1} <br>
	
	<fmt:formatDate value="${today}" var="pattern2" pattern="yyyy/MM/dd HH:mm:ss" />
	pattern2 : ${pattern2} <br>
	
	<h1>String을 Date 객체로 변환 => fmt:parseDate</h1>
	<fmt:parseDate value="${pattern2}" pattern="yyyy/MM/dd HH:mm:ss" var="date2" />
	Date 객체 : ${date2}
	
</body>
</html>

xml 태그의 종류

out - select 속성에 지정한 XPath 표현식의 결과 출력

parse - XML을 파싱할 때 사용

forEach - select 속성에 지정한 반복되는 노드 파싱

if - select 속성에 지정한 XPath 표현식 값을 하나의 조건으로 결정

choose - select 속성에 지정한 XPath 표현식 값을 다중 조건으로 결정 (하위에 when, otherwise 사용)

= XML 문서를 처리하기 위한 태그들로 XML 파싱, 출력, 흐름 제어 등의 기능 제공