SpringFramework 11. JSTL - swkim0128/PARA GitHub Wiki
μλ°μλ² νμ΄μ§ νμ€ νκ·Έ λΌμ΄λΈλ¬λ¦¬(JavaServer Pages Standard Tag Library, μ½μΉ JSTL)μ Java EE κΈ°λ°μ μΉ μ ν리μΌμ΄μ κ°λ° νλ«νΌμ μν μ»΄ν¬λνΈ λͺ¨μμ΄λ€. JSTLμ XML λ°μ΄ν° μ²λ¦¬μ 쑰건문, λ°λ³΅λ¬Έ, κ΅μ νμ μ§μν κ°μ μΌμ μ²λ¦¬νκΈ° μν JSP νκ·Έ λΌμ΄λΈλ¬λ¦¬λ₯Ό μΆκ°νμ¬ JSP μ¬μμ νμ₯νλ€. JSTLμ JSR 52λ‘μ JCP νμμ κ°λ°λμμΌλ©°, 2006λ 5μ 8μΌμ JSTL 1.2κ° μΆμ λμλ€.
JSTLμ JSP νμ΄μ§ λ΄μμ μλ° μ½λλ₯Ό λ°λ‘ μ¬μ©νμ§ μκ³ λ‘μ§μ λ΄μ₯νλ ν¨μ¨μ μΈ λ°©λ²μ μ 곡νλ€. νμ€νλ νκ·Έ μ μ μ¬μ©νμ¬ μλ° μ½λκ° λ€λ½κ±°λ¦¬λ κ²λ³΄λ€ λ μ½λμ μ μ§λ³΄μμ μμ© μννΈμ¨μ΄ μ½λμ μ¬μ©μ μΈν°νμ΄μ€ κ°μ κ΄μ¬μ¬μ λΆλ¦¬λ‘ μ΄μ΄μ§κ² νλ€.
- custom tag : κ°λ°μκ° μ§μ νκ·Έλ₯Ό μμ±ν μ μλ κΈ°λ₯μ μ 곡.
- custom tag μ€μμ λ§μ΄ μ¬μ©λλ κ²λ€μ λͺ¨μμ JSTLμ΄λΌλ κ·μ½μ λ§λ¦.
- λ Όλ¦¬μ μΈ νλ¨, λ°λ³΅λ¬Έμ μ²λ¦¬, λ°μ΄ν°λ² μ΄μ€ λ±μ μ²λ¦¬λ₯Ό ν μ μλ€.
- JSP 2.1 ~ JSP 2.2μ νΈνλλ JSTL λ²μ μ 1.2μ΄λ€.
- JSTLμ JSP νμ΄μ§μμ μ€ν¬λ¦½νΈ νΈλ¦Ώμ μ¬μ©νμ§ μκ³ μ‘μ μ ν΅ν΄ κ°λ¨νκ² μ²λ¦¬ν μ μλ λ°©λ²μ μ 곡.
- JSTLμλ λ€μν μ‘μ μ΄ μμΌλ©°, ELκ³Ό ν¨κ» μ¬μ©νμ¬ μ½λλ₯Ό κ°κ²°νκ² μμ±ν μ μλ€.
- https://mvnrepository.com/artifact/javax.servlet/jstl >> jstl-1.2.jar download
directive μ μΈ νμ : <%@ taglib prefix="prefix" uri="uri" %>
μ μΈ : <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set> μ‘μ μ λ³μλ νΉμ κ°μ²΄μ νλ‘νΌν°μ κ°μ ν λΉν λ μ¬μ©.
value μμ±μ κ°μ΄λ μ‘μ μ Body contentλ‘ κ°μ μ€μ .
var μμ±μ λ³μλ₯Ό λνλ΄λ©°, λ³μμ μμ‘΄ λ²μλ scope μμ±μΌλ‘ μ€μ . (λν΄νΈλ page)
νΉμ κ°μ²΄μ νλ‘νΌν°μ κ°μ ν λΉν λλ target μμ±μ κ°μ²΄λ₯Ό μ€μ νκ³ propertyμ νλ‘νΌν°λͺ μ μ€μ .
κΈ°λ³Έμ μΌλ‘ JSP νμ΄μ§λ μμΈκ° λ°μνλ©΄ μ§μ λ μ€λ₯νμ΄μ§λ₯Ό ν΅ν΄ μ²λ¦¬νλ€.
<c:catch> μ‘μ μ JSP νμ΄μ§μμ μμΈκ° λ°μν λ§ν μ½λ€λ₯΄ μ€λ₯ νμ΄μ§λ‘ λκΈ°μ§ μκ³ μ§μ μ²λ¦¬ν λ μ¬μ©.
var μμ±μλ λ°μν μμΈλ₯Ό λ΄μ page μμ‘΄λ²μ λ³μλ₯Ό μ§μ .
<c:catch>μ <c:if> μ‘μ μ ν¨κ» μ¬μ©νλ©° Java μ½λμ try-catchμ κ°μ κΈ°λ₯μ ꡬνν μ μλ€.
<c:if> μ‘μ μ test μμ±μ μ§μ λ ννμμ νκ°νμ¬ κ²°κ³Όκ° trueμΈ κ²½μ° μ‘μ μ Body 컨ν μΈ λ₯Ό μν
<c:if> μ‘μ μ var μμ±μ ννμμ νκ° κ²°κ³ΌμΈ Boolean κ°μ λ΄μ λ³μλ₯Ό λνλ΄λ©°, λ³μμ μμ‘΄ λ²μλ scope μμ±μΌλ‘ μ€μ .
<c:choose><c:when><c:otherwise> μ‘μ μ μ¬μ©νλ©΄ if, else if, else μ κ°μ΄ μ²λ¦¬ν μ μλ€.
<c:forEach> μ‘μ μ 컬λ μ μ μλ νλͺ©λ€μ λνμ¬ μ‘μ μ Body 컨ν μΈ λ₯Ό λ°λ³΅νμ¬ μν.
컬λ μ μλ Array, Collection, Map λλ μ½€λ§λ‘ λΆλ¦¬λ λ¬Έμμ΄μ΄ μ¬ μ μλ€.
var μμ±μλ λ°λ³΅μ λν νμ¬ νλͺ©μ λ€λ―γ΄ λ³μλ₯Ό μ§μ νκ³ items μμ±μ λ°λ³΅ν νλͺ©λ€μ κ°λ 컬λ μ μ μ§μ .
varStatus μμ±μ μ§μ ν λ³μλ₯Ό ν΅ν΄ νμ¬ λ°λ³΅μ μνλ₯Ό μ μ μλ€.