Recent Posts
Recent Comments
Archives
๋ฐ˜์‘ํ˜•
250x250
ยซ   2024/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Today
Yesterday

Total
04-20 00:01
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Hey Tech

[JSP] JSTL ๊ฐœ๋… ๋ฐ ์žฅ์ , ์„ค์น˜/์‚ฌ์šฉ๋ฐฉ๋ฒ• ์†Œ๊ฐœ ๋ณธ๋ฌธ

SW ๊ฐœ๋ฐœ/Java

[JSP] JSTL ๊ฐœ๋… ๋ฐ ์žฅ์ , ์„ค์น˜/์‚ฌ์šฉ๋ฐฉ๋ฒ• ์†Œ๊ฐœ

Tony Park 2022. 9. 20. 00:20
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๋“ค์–ด๊ฐ€๋ฉฐ

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” JSTL์˜ ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋… ๋ฐ ์žฅ์ , ์„ค์น˜/์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์˜ˆ์ œ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“š ๋ชฉ์ฐจ

1. JSTL ๊ฐœ๋…
2. JSTL ์žฅ์ 
3. JSTL ์„ค์น˜๋ฐฉ๋ฒ•
4. ์˜ˆ์ œ ์ฝ”๋“œ

1. JSTL ๊ฐœ๋…

JSTL์€ JavaServer Pages Standard Tag Library์˜ ์•ฝ์–ด๋กœ, Java ์ฝ”๋“œ๋ฅผ ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  HTML ํƒœ๊ทธ(<>) ํ˜•ํƒœ๋กœ ์ง๊ด€์ ์ธ ์ฝ”๋”ฉ์„ ์ง€์›ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์–ด๋ ต๊ฒŒ ๋งํ•˜์ž๋ฉด, JSTL์€ JSP์˜ ํ™•์žฅ ํƒœ๊ทธ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ HTML ํƒœ๊ทธ๋งŒ์œผ๋กœ๋Š” Java์˜ forEach ๋ฌธ๊ณผ ๊ฐ™์€ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์•„๋ž˜์˜ ์˜ˆ์‹œ ์ฝ”๋“œ์˜ body ํƒœ๊ทธ๋ฅผ ๋ณด์‹œ๋ฉด, Java๋‚˜ ํƒ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ฒ˜๋Ÿผ, ํƒœ๊ทธ(<>) ์•ˆ์— ์“ฐ์ž„์ƒˆ๊ฐ€ ์ง๊ด€์ ์œผ๋กœ ํŒŒ์•…๋˜๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฝ”๋”ฉ์„ ์ง€์›ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ JSTL์ž…๋‹ˆ๋‹ค.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	
	<!--jstl ๋ฌธ๋ฒ•: ํƒœ๊ทธ ํ˜•์‹์œผ๋กœ ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•(๋””์ž์ด๋„ˆ์—๊ฒŒ ์ง๊ด€์ ์ž„)-->
	<c:forEach var ="i" begin = "1" end = "10">
		${i}
	</c:forEach>
	
</body>
</html>

2. JSTL ์žฅ์ 

JSTL์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ž…๋ฌธํ•œ ์‚ฌ๋žŒ์ด๋ฉด ์ฝ”๋“œ์˜ ์“ฐ์ž„์ƒˆ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์œ„์˜ ์˜ˆ์‹œ ์ฝ”๋“œ์—์„œ ๋ณด์‹ค ์ˆ˜ ์žˆ๋“ฏ์ด, forEach ๊ธฐ๋ฐ˜์˜ ๋ฐ˜๋ณต๋ฌธ์ด๋ฉฐ, ๋ณ€์ˆ˜๋Š” i๋กœ ์„ค์ •ํ•˜๊ณ , ์ดˆ๊ธฐ๊ฐ’์€ 1, ์ข…๋ฃŒ๊ฐ’์€ 10์ด๋ฉฐ ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์ฐจ๋ก€๋กœ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ผ๋Š” ๊ฒƒ์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์žฅ์  ๋•๋ถ„์—, ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ HTML/CSS๋ฅผ ๋‹ค๋ฃจ๋Š” ๋””์ž์ด๋„ˆ๊ฐ€ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ์ž‘์—…์„ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

3. JSTL ์‚ฌ์šฉ๋ฐฉ๋ฒ•

JSTL์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” JSTL jar ํŒŒ์ผ๊ณผ JSTL ๊ตฌํ˜„์ฒด(implementation)๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

3.1. JSTL jar ํŒŒ์ผ ์„ค์น˜

๋จผ์ €, ์•„๋ž˜์˜ ์ฃผ์†Œ์— ์ ‘์†ํ•˜์…”์„œ jar ํŒŒ์ผ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

JSTL jar ํŒŒ์ผ ์„ค์น˜

https://repo1.maven.org/maven2/jstl/jstl/1.2/

Index of /maven2/jstl/jstl/1.2/

repo1.maven.org

3.2. Tomcat ์„ค์น˜

์‚ฌ์šฉ ์ค‘์ด์‹  OS ์‚ฌ์–‘์— ๋งž์ถฐ ํ†ฐ์บฃ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
https://tomcat.apache.org/download-90.cgi

Apache Tomcatยฎ - Apache Tomcat 9 Software Downloads

Welcome to the Apache Tomcatยฎ 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version

tomcat.apache.org

์•ž์„œ ์„ค์น˜ํ•œ JSTL jar ํŒŒ์ผ์€ tomcat ํด๋” > lib ํด๋” ๋‚ด๋ถ€๋กœ ์ด๋™์‹œํ‚ต๋‹ˆ๋‹ค.
(Window OS ์‚ฌ์šฉ์ž ์ฐธ๊ณ ) C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\lib

jar ํŒŒ์ผ ์ด๋™

3.3. ์ดํด๋ฆฝ์Šค ์žฌ์‹คํ–‰ ๋ฐ HTML ํŒŒ์ผ ์ƒ์„ฑ

์ดํด๋ฆฝ์Šค๋ฅผ ์žฌ์‹คํ–‰ํ•˜๊ณ  hmtl ํŒŒ์ผ ์„ ํ•˜๋‚˜ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

3.4. taglib ์„ ์–ธ

JSP์—์„œ JSTL์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Java์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Import ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ taglib ์ง€์‹œ์ž๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. JSTL Core ํƒœ๊ทธ ์„ ์–ธ๋ฌธ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

4. ์˜ˆ์ œ ์ฝ”๋“œ

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<!--JavaServer Pages Standard Tag Library-->
	<!--jstl ๋ฌธ๋ฒ•: ํƒœ๊ทธ ํ˜•์‹์œผ๋กœ ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•(๋””์ž์ด๋„ˆ์—๊ฒŒ ์ง๊ด€์ ์ž„)-->
	<c:forEach var ="i" begin = "1" end = "10">
		${i}
	</c:forEach>
	
</body>
</html>

ํ•ด๋‹น ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด, ์ดˆ๊ธฐ๊ฐ’์ธ 1๋ถ€ํ„ฐ ์ข…๋ฃŒ๊ฐ’ 10๊นŒ์ง€ ๊ฐ’์ด 1์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉฐ ์ฐจ๋ก€๋กœ ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ๋ ฅ ๊ฒฐ๊ณผ

์˜ค๋Š˜์€ JSTL์˜ ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค.
ํฌ์ŠคํŒ… ๋‚ด์šฉ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ์•„๋ž˜์— ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
๊ทธ๋Ÿผ ์˜ค๋Š˜๋„ ์ฆ๊ฑฐ์šด ํ•˜๋ฃจ ๋ณด๋‚ด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค :)
๊ณ ๋ง™์Šต๋‹ˆ๋‹ค๐Ÿ˜Š

728x90
๋ฐ˜์‘ํ˜•
Comments