Java·๏ปฟServlet·๏ปฟJSP/Library·Framework

[JSP] JSTL ์‚ฌ์šฉ ๋ฐฉ๋ฒ• - ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ธํŒ…

Leica 2020. 2. 14. 00:20
๋ฐ˜์‘ํ˜•

ํ™˜๊ฒฝ ์ •๋ณด

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

1๋ฒˆ๊ณผ ๊ฐ™์ด ๋ฒˆ๋“ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด๋ฐ›์•˜๋‹ค๋ฉด API๋Š” ๋‹ค์šด๋กœ๋“œ๋ฐ›์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/javax.servlet.jsp.jstl-api/1.2.2

 

์œ„ ๋งํฌ์—์„œ jar๋ฅผ ํด๋ฆญํ•ด์„œ ๋‹ค์šด๋กœ๋“œ๋ฐ›๋Š”๋‹ค.

 

3. JSTL Implementation(๊ตฌํ˜„์ฒด)

1๋ฒˆ๊ณผ ๊ฐ™์ด ๋ฒˆ๋“ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด๋ฐ›์•˜๋‹ค๋ฉด ๊ตฌํ˜„์ฒด๋Š” ๋‹ค์šด๋กœ๋“œ๋ฐ›์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

ํ†ฐ์บฃ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ 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> ํƒœ๊ทธ๋กœ ์ถœ๋ ฅ๋ฌธ์„ ์ž‘์„ฑํ•ด๋ณด์ž.

์—๋Ÿฌ๊ฐ€ ๋‚˜์ง€ ์•Š์œผ๋ฉด ์ œ๋Œ€๋กœ ์„ธํŒ…๋œ ๊ฒƒ์ด๋‹ค.

๋ฌผ๋ก  ์‹คํ–‰๋„ ์ •์ƒ์ ์œผ๋กœ ๋ผ์•ผํ•œ๋‹ค.

 

์‹คํ–‰ ๊ฒฐ๊ณผ

๋ฐ˜์‘ํ˜•