๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Study/JSP

[JSP] JSTL

by hong- 2022. 11. 18.

๐Ÿ™๐Ÿป JSTL : JSP Standard Tag Library

 : ์ž๋ฐ”์ฝ”๋“œ๋ฅผ HTML ํƒœ๊ทธ ํ˜•์‹์œผ๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

JSP์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ธ ๋ฐ˜๋ณต๋ถ„, ์กฐ๊ฑด๋ฌธ, ๋ฐ์ดํ„ฐํ‘œํ˜„ ๋“ฑ์„ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด ๋†“์€ ์ปค์Šคํ…€ ํƒœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ JSTL ํƒœ๊ทธ ์ข…๋ฅ˜

โ‘  Core (prefix : c)

 - ๋ณ€์ˆ˜ ์ง€์›, ์ œ์–ด๋ฌธ, ํŽ˜์ด์ง€ ๊ด€๋ จ ์ฒ˜๋ฆฌ

 

โ‘ก Formating (prefix : fmt)

 - ํฌ๋ฉง ์ฒ˜๋ฆฌ, ๊ตญ์ œํ™” ์ง€์›

 

โ‘ข Database (prefix : sql)

 - DB๊ด€๋ จ CRUD ์ฒ˜๋ฆฌ

 

โ‘ฃ XML (prefix : x)

 - XML ๊ด€๋ จ ์ฒ˜๋ฆฌ

 

โ‘ค Function (prefix : fn)

 - Collection, String ์ฒ˜๋ฆฌ

 

๐Ÿ‘‰๐Ÿป ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํƒœ๊ทธํƒ€์ž…์„ ์ง€์ •ํ•˜๋ฉด ํ•ด๋‹น JSTL์˜ Core๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๐Ÿ“ JSTL ์˜ Core๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํƒœ๊ทธ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ‘  out : ์ถœ๋ ฅ

<c:out value = "์•ˆ๋…•ํ•˜์„ธ์š”">

 ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ž๋ฐ”์—์„œ์˜ System.out.print์™€ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์–ด๋– ํ•œ ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๋“ ์ง€ ๊ฐ„์— ์ฝ˜์†”์ด ์•„๋‹Œ ํ™”๋ฉด์— ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

 

 ๐Ÿ’ก c:out ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 1) HTML ์ด๋‚˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์–ด ์œ„ํ—˜ํ•จ

 2) ์—„๊ฒฉํ•œ ํƒœ๊ทธ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•˜์—ฌ

 3) ๊ฐœํ–‰๋ฌธ์ž ํŒŒ์‹ฑ์˜ ์ฐจ์ด ๋•Œ๋ฌธ์— ์‚ฌ์šฉ

 4) ๋ณด์•ˆ์„ฑ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ

โ‘ก set : ๋ณ€์ˆ˜ ์„ค์ •

<c:set var="num" value="100">

 JSP์—์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ž๋ฐ”์—์„œ์˜ int num=100; ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

โ‘ข remove : ๋ณ€์ˆ˜ ์ œ๊ฑฐ

<c:remove var="num">

์„ค์ •ํ•œ ๋ณ€์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์˜์—ญ ์„ค์ •๋„ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋”ฐ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋ชจ๋“  ์˜์—ญ์˜ ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

โ‘ฃ if : ์กฐ๊ฑด๋ฌธ

<c:if test="${param.age>5}">
          ๋‚˜์ด๊ฐ€ 5์‚ด์„ ์ดˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.
</c:if>

 ์กฐ๊ฑด๋ฌธ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฌธ ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ if๋ฌธ๊ณผ ๋‹ฌ๋ฆฌ JSTL์„ ์‚ฌ์šฉํ•˜๋ฉด else ๋ฌธ์ด ์—†๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค.

โ‘ค choose : ๋‹ค์ค‘ ์กฐ๊ฑด

<c:choose>
       <c:when ์กฐ๊ฑด๋ฌธ1> ์‹คํ–‰๋ฌธ1 </c:when>
       <c:when ์กฐ๊ฑด๋ฌธ2> ์‹คํ–‰๋ฌธ2 </c:when>
       <c:otherwise> ์‹คํ–‰๋ฌธ3 </c:otherwise>
</c:choose>

choose๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด๋ฌธ๋“ค์„ ๊ฐ์‹ธ์ฃผ๊ณ  ์กฐ๊ฑด๋ฌธ๋“ค์„ when์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋‚˜์”ฉ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ else๋ฌธ์€ otherwise๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค.

โ‘ฅ forEach : loop ๋ฐ˜๋ณต๋ฌธ

<c:forEach items="${[Scope์ข…๋ฅ˜].[์ „์†ก๋Œ€์ƒ์ด๋ฆ„]}" var="[์š”์†Œ์ง€์ • ๋ณ€์ˆ˜]" varStatus="[๋ณ€์ˆ˜]">
</c:forEach>

collection ๋˜๋Š” map์˜ ๊ฐ ํ•ญ๋ชฉ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค. 

์—ฌ๊ธฐ์„œ items๋Š” ๋Œ€์ƒ๋ฐฐ์—ด/์ปฌ๋ ‰์…˜์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  var์€ ์š”์†Œ๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜, varstatus๋Š” index(0๋ถ€ํ„ฐ), count(1๋ถ€ํ„ฐ)๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

โ‘ฆ forToken : ํ† ํฐ ์ฒ˜๋ฆฌ

๊ตฌ๋ถ„์ž๋กœ ๋ถ„๋ฆฌ๋œ ๊ฐ๊ฐ์˜ ํ† ํฐ ์ฒ˜๋ฆฌ ์‹œ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค.

'Study > JSP' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JSP] DataTables  (0) 2022.11.22
[JSP] ObjectMapper  (0) 2022.11.18
[JSP] Mybatis  (0) 2022.11.18
[JSP] JQuery  (0) 2022.11.18
[JSP] Ajax  (0) 2022.11.18