** πEL κ°μμ νμμ±**
β λͺ©μ°¨
- ELμ΄λ?
- μ νμνκ°?
- ELκ³Ό κΈ°μ‘΄ JSP μ€ν¬λ¦½νΈ μ½λ λΉκ΅
- ELμ΄ λ±μ₯νκ² λ λ°°κ²½
- κΈ°μ λ©΄μ κ΄μ μ 리
- μμ½ λ° μ 리
- 보좩 μμ
1. β ELμ΄λ?
π EL(Expression Language) = JSPμμ κ°μ μΆλ ₯νκ±°λ μ½μ λ μ¬μ©νλ κ°λ¨ν νν μΈμ΄μ λλ€.
μ)
${λ³μλͺ }
β μ΄λ κ² ννν©λλ€.
π JSPμμ μλ° μ½λλ₯Ό <%= user.getName() %>
μ΄λ° μμΌλ‘ μμ±νλ λμ ,
ELμ μ¬μ©νλ©΄ ν¨μ¬ κ°κ²°νκ³ μ½κΈ° μ¬μ΄ μ½λκ° λ©λλ€.
<!-- κΈ°μ‘΄ μ€ν¬λ¦½νλ¦Ώ λ°©μ -->
<%= user.getName() %>
<!-- EL λ°©μ -->
${user.name}
2. β μ νμνκ°? (νμμ±)
μ΄μ | μ€λͺ |
---|---|
π₯ 1. μ€ν¬λ¦½νΈ μ½λ μ κ±° | JSP λ΄λΆμμ μλ° μ½λλ₯Ό μ€μ¬ μ½λ κ°λ μ± λ° μ μ§λ³΄μ ν₯μ |
π¨ 2. ννμλ§ μ§μ€ | μλ° μ½λ λ‘μ§μ Servlet/Controllerμμ μ²λ¦¬, JSPλ μΆλ ₯ μ μ© |
π 3. MVC μμΉ μ€μ | Viewλ View μν λ§! μλ° μ½λλ Controller/Modelλ‘ λΆλ¦¬ |
π 4. μ¬μ¬μ©μ± ν₯μ | ${user.name} κ°μ ννμ μ¬λ¬ κ³³μμ μ¬μ© κ°λ₯, νμ₯μ± β |
π 5. JSTLκ³Όμ κ²°ν© | ELμ JSTLμ 쑰건, λ°λ³΅ νκ·Έμμ λ§€μ° λ§μ΄ μ¬μ©λ©λλ€. |
3. β EL vs κΈ°μ‘΄ JSP μ€ν¬λ¦½νΈ μ½λ λΉκ΅
π£ μ€ν¬λ¦½νλ¦Ώ λ°©μ (볡μ‘, μ μ§λ³΄μ β)
<% if (user != null) { %>
<p>μ΄λ¦: <%= user.getName() %></p>
<% } %>
β EL + JSTL λ°©μ (κΉλ, μ μ§λ³΄μ β)
<c:if test="${user != null}">
<p>μ΄λ¦: ${user.name}</p>
</c:if>
π‘ κ°λ μ±, π΅ μ μ§λ³΄μμ±, π’ λμμΈ νμ μ± λͺ¨λ EL λ°©μμ΄ λ°μ΄λ©λλ€.
4. β ELμ΄ λ±μ₯ν λ°°κ²½ (μ¬ν κ°λ )
λ°μ λ¨κ³ | μ€λͺ |
---|---|
μ΄κΈ° JSP | Java μ½λ + HTML μμ β μ€νκ²ν° μ½λ λ¬Έμ |
MVC λ±μ₯ | λΉμ¦λμ€ λ‘μ§μ Servlet/Model, Viewλ JSPλ‘ λΆλ¦¬ νμ |
JSTL λ±μ₯ | JSPμμ μλ° μ μ΄λ¬Έ μ κ±° λͺ©μ |
EL λ±μ₯ | JSPμμ getter, νλΌλ―Έν° λ± κ°μ κ°λ¨ν νννκΈ° μν μΈμ΄λ‘ EL λμ |
π§ ν΅μ¬ μ 리: ELμ JSTLκ³Ό ν¨κ» JSPλ₯Ό βνν μ μ© ν νλ¦ΏβμΌλ‘ λ°κΏμ€ ν΅μ¬ λꡬμ λλ€.
5. β κΈ°μ λ©΄μ λλΉ ν΅μ¬ μ§λ¬Έ + λ΅λ³
μ§λ¬Έ | ν΅μ¬ λ΅λ³ μμ |
---|---|
β ELμ΄ λ¬΄μμ΄λ©° μ μ¬μ©νλμ? | JSPμμ κ°μ νννλ κ°λ¨ν μΈμ΄μ΄λ©°, μ€ν¬λ¦½νΈ μ½λλ₯Ό μ€μ΄κ³ View μμμ νν μ μ©μΌλ‘ λ§λ€κΈ° μν΄ μ¬μ©ν©λλ€. |
β ELκ³Ό JSTLμ κ΄κ³λ? | JSTLμ μ μ΄λ¬Έ νκ·Έ, ELμ κ° νν. λμ ν¨κ» μ¬μ©λμ΄ MVC ꡬ쑰λ₯Ό κΉ¨μ§ μκ³ JSPλ₯Ό View μ μ©μΌλ‘ λ§λλλ€. |
β ELμ΄ μλ μλμ λ¬Έμ λ? | μ€ν¬λ¦½νλ¦Ώ λ¨μ© β κ°λ μ± μ ν, μ μ§λ³΄μ μ΄λ €μ, MVC μμΉ μλ° |
β EL μ¬μ©μ 보μ μ΄μλ μλμ? | EL μ체λ νν μΈμ΄μ΄κΈ° λλ¬Έμ λΉμ¦λμ€ λ‘μ§μ μννμ§ μμ 보μμ μ 리. λ¨, λ°μ΄ν° μ체μ 보μμ΄μκ° μλ€λ©΄ ELλ‘ μΆλ ₯λμ΄λ λ ΈμΆλ©λλ€. |
6. β μμ½
ELμ JSPμμ ννλ§ λ΄λΉνκ² λ§λ€κΈ° μν κ°λ¨ν μΆλ ₯ μ μ© μΈμ΄μ λλ€.
μ μ§λ³΄μμ±, κ°λ μ±, νμ μ±μ λμ΄κΈ° μν΄ JSTLκ³Ό ν¨κ» λ°λμ μ¬μ©νλ ν΅μ¬ κΈ°μ μ λλ€.
${}
β ELμ κΈ°λ³Έ νμ- ELμ μ¬μ©νλ©΄ JSPλ λ‘μ§ μλ βνν μ μ©βμ΄ λ¨
- μ€ν¬λ¦½νλ¦Ώμ μ κ±°λλ κ²μ΄ μ μ§λ³΄μ κ΄μ μμ μ€μ
- κΈ°μ λ©΄μ μμλ MVC μμΉ + View μν λΆλ¦¬ κ΄μ μΌλ‘ μ€λͺ νμ
7. β 보좩 μ€μ μμ
πΈ μμ 1: νλΌλ―Έν° μΆλ ₯
<!-- ?name=John -->
<p>μ΄λ¦: ${param.name}</p>
πΈ μμ 2: κ°μ²΄μ νλ‘νΌν° μΆλ ₯
<!-- setAttribute("user", User κ°μ²΄) -->
<p>μμ΄λ: ${user.id}</p>
<p>μ΄λ©μΌ: ${user.email}</p>
πΈ μμ 3: requestScope μ°μ μμ νμΈ
<!-- μ¬λ¬ μ€μ½νμ λμΌ λ³μ μ‘΄μ¬ μ κ°μ₯ κ°κΉμ΄ scope μ¬μ© -->
<p>κ²°κ³Ό: ${result}</p> <!-- page β request β session β application μ -->