[JSP] JSTL ์ฌ์ฉ ๋ฐฉ๋ฒ - ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋ก๋ ๋ฐ ์ธํ
ํ๊ฒฝ ์ ๋ณด
IntelliJ 2019.3 Ultimate, Tomcat 9, JSTL 1.2, ์์กด์ฑ ๊ด๋ฆฌ ํ๊ฒฝ X
๋ณธ ํฌ์คํ ์์๋ ์์กด์ฑ ๊ด๋ฆฌ ํ๊ฒฝ ์์ด JSTL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธํ ํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃฌ๋ค.
IDE๋ IntelliJ 2019.3 Ultimate์ ์ฌ์ฉํ๋ค.
JSTL(JSP Standard Tag Library)
JSTL์ JSP์ ๊ธฐ๋ณธ ํ๊ทธ๊ฐ ์๋ JSP ํ์ฅ ํ๊ทธ์ด๋ค.
์ฌ์ฉํ๋ ค๋ฉด JSTL API ๋ฐ ์๋ฐ ๊ตฌํ์ฒด์ 2๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํน์ API์ ๊ตฌํ์ฒด๊ฐ ํจ๊ป ๋ฒ๋ค ํํ๋ก ๊ตฌ์ฑ๋์ด์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ๋ค.
JSTL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋ก๋
1. JSTL API + ๊ตฌํ์ฒด ๋ฒ๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
https://mvnrepository.com/artifact/javax.servlet/jstl/1.2
์ ๋งํฌ์์ jar๋ฅผ ํด๋ฆญํด์ ๋ค์ด๋ก๋๋ฐ๋๋ค.
2. JSTL API
https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/javax.servlet.jsp.jstl-api/1.2.2
์ ๋งํฌ์์ jar๋ฅผ ํด๋ฆญํด์ ๋ค์ด๋ก๋๋ฐ๋๋ค.
3. JSTL Implementation(๊ตฌํ์ฒด)
ํฐ์บฃ์ ์ฌ์ฉํ๋ฏ๋ก Apache์ JSTL ๊ตฌํ์ฒด๋ฅผ ๋ค์ด๋ก๋๋ฐ์๊ฒ์ด๋ค.
http://tomcat.apache.org/๋ก ๋ค์ด๊ฐ์ Taglibs๋ฅผ ํด๋ฆญํ๋ค.
๊ฐ์ด๋ฐ Download ๋งํฌ๋ฅผ ํด๋ฆญํ๋ค.
์คํฌ๋กค์ ๋ด๋ ค Jar Files - Impl์ jar ํ์ผ์ ๋ค์ด๋ก๋ํ๋ค.
์ฐธ๊ณ ๋ก ์ด์ ๋ฒ์ ์ ๋ค์ ๋งํฌ์์ ๋ฐ์ ์ ์๋ค.
http://tomcat.apache.org/taglibs/standard/
ํ๋ก์ ํธ์ ์ถ๊ฐํ๊ธฐ
Project Structure์์ JSTL๋ฅผ ์ฌ์ฉํ ํ๋ก์ ํธ(๋ชจ๋)์ ์ ํํ๊ณ Dependencies์์ [+]๋ฅผ ํด๋ฆญํด์ ๋ค์ด๋ก๋๋ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ค.
๋๋ API์ ๊ตฌํ์ฒด๋ฅผ ๋๋ ์ ๊ตฌ์ฑํ์๋ค.
๋ฒ๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐ์๋ค๋ฉด ํด๋น ํ์ผ 1๊ฐ๋ง ์ถ๊ฐํ๋ฉด ๋๋ค.
taglib ์ง์์ ์ ์ธ
์๋ฐ์์ import๋ฌธ์ ์ ์ธํ๋ฏ JSP์์๋ JSTL ํ์ฅ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด taglib ์ง์์๋ก ๋ผ์ด๋ฒ๋ฆฌ๋ฅผ ์ ์ธํด์ผ ํ๋ค.
๋ค์์ JSTL Core ํ๊ทธ ์ ์ธ๋ฌธ์ด๋ค.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
JSP ํ์ผ์ ์์ ๊ฐ์ด taglib ์ง์์๋ฅผ ์ ์ธํ๊ณ ํ ์คํธ์ฉ์ผ๋ก <c:out> ํ๊ทธ๋ก ์ถ๋ ฅ๋ฌธ์ ์์ฑํด๋ณด์.
์๋ฌ๊ฐ ๋์ง ์์ผ๋ฉด ์ ๋๋ก ์ธํ ๋ ๊ฒ์ด๋ค.
๋ฌผ๋ก ์คํ๋ ์ ์์ ์ผ๋ก ๋ผ์ผํ๋ค.