728x90
EL(Expression language)
- Expression language 로 JSP 2.0부터 추가된 개념
- 자바 빈의 속성 값을 보다 쉽게 꺼내 쓸 수 있는 도구
종류
- ${ } : JSP가 실행될 때 즉시 반영된다. (Immediate evaluation)
- 객체 프로퍼티 값을 꺼낼때 주로 사용
- 시스템에서 필요하다고 판단될 때 그 값을 사용한다. (Deferred evaluation) 사용자 입력값을 객체의 프로퍼티에 담는 용도로 주로 사용
- ${변수명}으로 선언하여, 다양한 연산자(산술, 비교, empty)를 사용 할 수 있는 도구
- ${fn:} 등을 통해 함수 사용 가능
- HTML
- <span>${prod.brndNm}</span> : 프론트단 노출 용도
- javascript
- "${prod.brndNm}"
- JS에선 “” 안에 넣어서 사용한다.
JSTL
- JSTL (Jsp Standard Tag Library)
- JSTL = JSTL + EL의 조합을 의미한다.
- HTML내의 스크립틀릿을 편하게 변환하여 준다.<%= value> → ${value}<%= for> → <c:forEach>
- <%= if> → <c:if>
- JSTL은 JSP페이지 내에서 java코드를 사용하지 않고 로직을 내장하는 방법을 제공한다.
사용의 이점?
- 스클립틀릿으로 분기 처리를 하게 되면?
<% if(count > 10){ %> <h1>횟수가 초과되었습니다.</h1> <% } %>
- 이를 JSTL로 표현하면?
<c:if test="${count > 10}"> <h1>횟수가 초과되었습니다.</h1> </c:if>
사용법
- core를 header에 추가한다.
<% @taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
- 필요한 JSP 태그를 사용한다.
<c:if test=""></c:if> <c:forEach items=""></c:forEach>
태그명설명<c:set> 변수명에 값을 할당 <c:out> 값을 출력 <c:if> 조건식에 해당하는 블럭과 사용될 scope설정 <c:choose> 다른 언어의 switch와 비슷 <c:when> switch문의 case에 해당 <c:otherwise> switch문의 default에 해당 <c:forEach> 다른언어의 loop문 items 속성에 배열을 할당할 수 있음
'이해' 카테고리의 다른 글
데이터 형식 주요 어노테이션 (0) | 2024.02.23 |
---|---|
data-속성 사용 (0) | 2024.02.20 |
ViewerParsing 이해 (0) | 2024.02.19 |
PRG패턴 (0) | 2024.02.19 |
root-context와 servlet-context (0) | 2024.02.14 |