Hodustory/프로그래밍&DB

JSTL / EL

호두밥 2020. 2. 7. 12:30

JSTL (JSP Standard Tag Language)

  • jsp 사용자 정의(커스텀) 태그 중 표준인 것

jstl 태그기능예제

c:set 변수 선언 <c:set var="name" value="value"/>
c:out 변수 출력 <c:out value="${name}"/>
c:forEach for 반복문 <c:forEach items="items" var="i">
<c:out value="${i.name}"/>
</c:forEach>
c:if if 조건문 <c:if test="${name == 'John'}">
My name is John.
</c:if>
c:choose
c:when
c:othterwise
choose 조건문
while : 조건 만족 시
otherwise : 조건 불만족 시
<c:choose>
<c:when test="조건문"> 실행 내용 </c:when>
<c:otherwise> 실행 내용 </c:otherwise>
</c:choose>
c:remove 변수 제거 <c:remove var="name"/>

EL (Expression Language)

  • JSP 표현식 객체로 jstl에 태그 안에서 사용됨.

el 내장 객체

el 태그기능예제

pageContext Jsp의 page와 동일한 내장 객체 ${pageContext.name}
pageScope Jsp의 내장 객체 <속성,값>의 Map 객체 ${pageScope.name}
param JSP의 내장 객체 요청 파라미터의 <파라미터 이름, 값>의 Map 객체 ${param.name}
requestScope JSP의 내장 객체, request 객체에 저장된 <속성, 값>의 Map 객체 ${requestScope.name}
sessionScope JSP의 내장 객체, session 객체에 저장된 <속성, 값>의 Map 객체 ${sessionScope.name}

el 연산자

연산자기능예제

. 빈의 프로퍼티 , Map의 값에 접속 ${param.name}
[] 배열이나 리스트(List)의 객체에 접근 ${param["name"]}
() 괄호 ${(1+2)*3}
a?b:c 조건 a가 true이면 b, false면 c ${(5>3)? 5 : 3}
+ 더하기 ${5 + 3}
- 빼기 ${5 - 3}
* 곱하기 ${5 * 3}
/ 나누기 ${5 / 3}
%, mod 나머지 ${5 mod 3}
==, = 같다 ${5 = 3}
!= 같지 않다 ${5 != 3}
<, lt 보다 작다 ${5 lt 3}
>, gt 보다 크다 ${5 gt 3}
<=, le 작거나 같다 ${5 le 3}
>=, ge 크거나 같다 ${5 ge 3}
&&, and 논리 연산자 and <c:if test="${str1='john' && str2='mark'}">
||, or 논리 연산자 or <c:if test="${str='john' || str='mark'}">
!, not true는 false로 false는 true로 반환 <c:if test="${empty str1}">
empty 빈 값 체크 ${ns.empty}
func(args) 메소드 호출 ${ns:func(args1)}
반응형