Spring/JSTL

JSTL fmtTags

원2 2021. 7. 27. 09:25
728x90
반응형

요청페이지를 따로 설정해 두지 않으면 자신의 페이지에서 처리

<!-- fmtTags1.jsp -->
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:requestEncoding value="EUC-KR"/>
name : ${param.name }
<form method="post">
name : <input name="name" value="홍길동">
<input type="submit">
</form>

timezone

<!-- timeZone.jsp -->
<%@page import="java.util.TimeZone"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<% 
	String tzArr[] = TimeZone.getAvailableIDs();
	// 강사님의 불변 이론 : 항상 배열, Vector, ArrayList 밑에는 for가 있다. 왜냐 ? 배열만들고 안쓰면 의미가 없다 
		for (int i = 0; i < tzArr.length; i++) {
		out.println(tzArr[i] + "<br>");	
	}
%>

fmtTags2

formatDate

<!-- fmtTags2.jsp -->
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="now" value="<%= new Date() %>"/>
<h3>Korea</h3>
<fmt:setLocale value="ko_kr"/>
금액 : <fmt:formatNumber value="100000000" type="currency"/><br>
일시 : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full"/>
<h3>Japan</h3>
<fmt:setLocale value="ja_jp"/>
금액 : <fmt:formatNumber value="100000000" type="currency"/><br>
일시 : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full"/>
<h3>USA</h3>
<fmt:setLocale value="en_us"/>
금액 : <fmt:formatNumber value="100000000" type="currency"/><br>
일시 : <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full"/>

formatNumber

<!-- fmtTags3.jsp -->
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:set var="num" value="123456789"/>
숫자 : <fmt:formatNumber value="${num}" type="number"/><br>
퍼센트 : <fmt:formatNumber value="${num}" type="percent" groupingUsed="true"/><br>
퍼센트 : <fmt:formatNumber value="${num}" type="percent" groupingUsed="false"/><br>
원 : <fmt:formatNumber value="${num}" type="currency"/><br>

<fmt:setLocale value="en_us"/>
달러 : <fmt:formatNumber value="${num}" type="currency"/><br>
달러(심볼적용) : <fmt:formatNumber value="${num}" type="currency" currencySymbol="$"/><br>
패턴 : <fmt:formatNumber value="${num}" pattern="0.0000"/><br>

<fmt:parseNumber var="num2" integerOnly="ture" value="123.456"/>
실수를 제외한 정수 : <c:out value="${num2 }"/><br>
실수를 제외한 정수 : ${num2 }

formatDate

<meta http-equiv="refresh" content="1">

을 넣으면 1초마다 갱신된다.

<!-- fmtTags4.jsp -->
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="dayTime" value="<%= new Date() %>"/>
<b>Korea</b><hr width="300" align="left">
<fmt:setTimeZone value="Asia/Seoul"/>
날짜 : <fmt:formatDate value="${ dayTime }" type="date" dateStyle="full"/><br>
시간 : <fmt:formatDate value="${ dayTime }" type="time"/><br><br>

<b>London</b><hr width="300" align="left">
<fmt:setTimeZone value="Europe/London"/>
날짜 : <fmt:formatDate value="${ dayTime }" type="date" dateStyle="full"/><br>
시간 : <fmt:formatDate value="${ dayTime }" type="time"/><br><br>

<b>HongKong</b><hr width="300" align="left">
<fmt:setTimeZone value="Asia/Hong_Kong"/>
날짜 : <fmt:formatDate value="${ dayTime }" type="date" dateStyle="full"/><br>
시간 : <fmt:formatDate value="${ dayTime }" type="time"/><br><br>

<b>NewYork</b><hr width="300" align="left">
<fmt:setTimeZone value="America/New_York"/>
날짜 : <fmt:formatDate value="${ dayTime }" type="date" dateStyle="full"/><br>
시간 : <fmt:formatDate value="${ dayTime }" type="time"/><br><br>

<b>Berlin</b><hr width="300" align="left">
<fmt:setTimeZone value="Europe/Berlin"/>
날짜 : <fmt:formatDate value="${ dayTime }" type="date" dateStyle="full"/><br>
시간 : <fmt:formatDate value="${ dayTime }" type="time"/><br><br>

<b>LA</b><hr width="300" align="left">
<fmt:setTimeZone value="America/Los_Angeles"/>
날짜 : <fmt:formatDate value="${ dayTime }" type="date" dateStyle="full"/><br>
시간 : <fmt:formatDate value="${ dayTime }" type="time"/><br><br>

Bundle

<!-- 여기서 param은 페이지에서 요청받아서 넣는곳 -->
note.properties
msg null은 값을 입력안해서 ㅇㅇ
값 입력ㅇㅇ
이런식으로 입력해주면 된디ㅏ..ㅇㅇ

<!-- fmtTags5.jsp -->
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<fmt:setBundle var="note" basename="jstl.note"/> <!-- 번들에서는 setproperty 생략가능 -->
country : <fmt:message bundle="${note }" key="country"/><br>
siteName : <fmt:message bundle="${note }" key="siteName"/><br>
msg : <fmt:message bundle="${note }" key="msg">
		<fmt:param value="${param.msg }"/>	
	</fmt:message>

Bundle2

Intro_ko
Intro_en

basename을 Intro이렇게만 잡아도 둘다 가져온다.ㅇㅇ

영어로 설정하면 영어로 출력, 아니면 한국어로 ㅇㅇ

<!-- fmtTags5.jsp -->
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<fmt:setBundle var="Intro" basename="jstl.Intro"/>
<h3><fmt:message bundle="${Intro }" key="TITLE"/></h3>
<fmt:message bundle="${Intro }" key="GREETING"/><p>
<fmt:message bundle="${Intro }" key="BODY"/><p>
<fmt:message bundle="${Intro }" key="COMPANY_NAME"/><p>

sql (오라클)

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<sql:setDataSource
url="jdbc:oracle:thin:@localhost:1521:xe"
driver="oracle.jdbc.driver.OracleDriver"
user="SCOTT" 
password="tiger" 
var="db" 
scope="application"/> 
<sql:query sql="select id, name from tblmember" var="lists" dataSource="${db}"/>
<table border="1">
		<tr>
			<td>아이디</td>
			<td>이름</td>
		</tr>
	<c:forEach var="member" items="${lists.rowsByIndex }">
		<tr>
			<c:forEach var="mem" items="${member }">
				<td>${mem }</td>
			</c:forEach>
		</tr>
	</c:forEach>	
</table><p>
<a href="sqlTags2.jsp">UPDATE</a>
728x90
반응형

'Spring > JSTL' 카테고리의 다른 글

JSLT 비교연산  (0) 2021.11.19
JSTL SessionScope  (0) 2021.08.04
JSP로 이메일 보내기 ㅇㅇ  (0) 2021.08.03
JSLT coreTags  (0) 2021.07.26
JSTL EL  (0) 2021.07.26
JSP 액션태그  (0) 2021.06.01