JSTL
JSTL (Jsp Standard Tag Library)
JSTL์ด๋?
EL์ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ๊ฐ๋ตํ๊ฒ ์์ฑํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ ์ฌ ์ ์์๋ค.
ํ์ง๋ง ์์ง if , for ์ ๊ฐ์ java ์ฝ๋๊ฐ ์กด์ฌํ ๊ฒ์ด๋ค.
JSTL์ JSP์ ๊ธฐ๋ณธ tag๊ฐ ์๋ ํ์ฅ tag์ด๋ค.
์ฐ์ฐ์ด๋ ์กฐ๊ฑด๋ฌธ์ด๋ ๋ฐ๋ณต๋ฌธ์ธ if๋ฌธ, for๋ฌธ, DB๋ฅผ JSTL๋ฅผ ํตํด ํธํ๊ฒ
์์ฑ์ด ๊ฐ๋ฅํ๋ค.
JSTL์ ์ฌ์ฉ
JSTL์ JSP์ ํ์ฅ ํ๊ทธ์ธ Library์ด๋ฉฐ ๋ฐ๋ก ~.jar ํ์ผ์ ๋ค์ด๋ฐ์
์ฌ์ฉํด์ผ ํ๋ค.
-
JSTL API + ๊ตฌํ์ฒด ๋ฒ๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ https://mvnrepository.com/artifact/javax.servlet/jstl/1.2
- JSTL API
1๋ฒ๊ณผ ๊ฐ์ด ๋ฒ๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ค์ด๋ฐ์๋ค๋ฉด API๋ ๋ค์ด๋ก๋๋ฐ์ง ์์๋ ๋๋ค.
https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/javax.servlet.jsp.jstl-api/1.2.2 - JSTL Implementation(๊ตฌํ์ฒด)
http://tomcat.apache.org/
์๋ฒ๋ฅผ ์ ๊ณตํ๋ tomcat์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํํ์ด์ง์์
์ ๊ณตํด์ค๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ค์นํ๋ค๋ฉด ์๋ฐ์์ import๋ฌธ์ ์ ์ธํ๋ฏ JSP์์๋
JSTL ํ์ฅ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด taglib ์ง์์๋ก ๋ผ์ด๋ฒ๋ฆฌ๋ฅผ ์ ์ธํด์ผํ๋ค.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!-- ์ง์์ -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
JSTL tag
JSTL์ ์๋ฐ์ ๋ณ์์ ์ธ, if, for์ ๊ธฐ๋ฅ๋ค์ ์ง์ํ๋ค.
๋ณ์์ ์ธ<c:set>
JSTL์ ๋ณ์ ์ ์ธ์ ๋ค๋ฅธ ๊ฐ๋ ์ ๊ฐ์ง๊ณ ์๋๋ฐ ์ ์ธ๋ ๋ณ์๋ ์ง์ ๋ Scope์ ์ ์ฅ๋๋ค.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="name" value="ํ๊ธธ๋"/>
<c:set var="age" value="22" scope="session"/>
<!-- Scope Default = page -->
์กฐ๊ฑด๋ฌธ<c:if>/<c:choose>
์๋ฐ์ ๋๊ฐ์ด if๋ฌธ๊ณผ switch์ ๋น์ทํ ๊ธฐ๋ฅ์ ํ๋ choose๊ฐ ์๋ค.
else ๊ธฐ๋ฅ์ ๋ฐ๋ก ์์ผ๋ฉฐ if๋ฅผ ์ค๋ณต์ฌ์ฉ ํ ์ ์๋ค.
EL tag๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ์ค ์ ์๋ค.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="num" value="30"/>
<c:set var="num2" value="20"/>
<!-- if else -->
<c:if test="${num == 30}">
num์ 30์ด๋ค.
</c:if>
<c:if test="${num == 20}">
num์ 20์ด๋ค.
</c:if>
<!-- switch -->
<c:choose>
<c:when test="${num == 30}">
num์ 30์ด๋ค.
</c:when>
<c:otherwise>
num์ 20์ด๋ค.
</c:otherwise>
</c:choose>
๋ฐ๋ณต๋ฌธ<c:forEach>/<c:forTokens>
for(int i = 0 ; i < 10 ; i++){
System.out.println(i+". ๋ฐ๋ณต๋ฌธ ํ
์คํธ");
}
Java์ ๋ฐ๋ณต๋ฌธ๊ณผ ๋๊ฐ์ ๊ธฐ๋ฅ์ ์ง์ํ๋ค.
- int i = 0 / var = โiโ begin = โ0โ
- i < 10 / end = โ10โ
- i++ / step = โ1โ
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach var="i" begin="0" end="9" step="1">
<c:out value="${i}"/>. ๋ฐ๋ณต๋ฌธ ํ
์คํธ
</c:forEach>
<!-- list, array -->
<c:forEach var="i" items="${list}" step="1">
<c:out value="${i}"/>
</c:forEach>
<!-- StringTokenizer -->
<c:forTokens var="abc" items="์๋
/ํ์ธ์/ํ๊ธธ๋/์
๋๋ค" delims="/" >
<c:out value="${abc}"/>
<c:forTokens>
๋ง์ฝ ์์๊ฐ์ด array๋ list๋ฅผ ๋ฐ๋ณต์ ์์๊ณผ ๋์ ์ง์ ํ์ง ์์๋
์๋์ผ๋ก ๋ค์ด์๋ ๊ฐ์ ์๋งํผ ๋ฐ๋ณต์ ํ๋ค.
<c:redirect>
Leave a comment