공부노트/Java

JSTL과 EL은 무엇이며 차이점은?

Reload0213 2022. 1. 16. 23:40

JSTL과 EL의 차이점

 

JSP를 사용하면 사용하게 되는 EL과 JSTL이있습니다.

 

EL은 Expression Language를 뜻하고

 

JSTL은 JSP Standard Tag Library를 뜻합니다.

 

 

EL예제

 
<% = test %>
${test}
 
위와 같은 형태로 작성되는것을 EL이라고 한다.

 

 

JSTL예제

 

<c:if test=""></c:if>
<c:forEach items=""></c:forEach>

 

위와 같은 형태로 작성하는 문법을 JSTL이라고 한다.

 

보통 우리가 쓰는 JSTL에서는 JSTL안의 변수에 EL을 담아서 쓰고 있다고 생각하면 된다.

 

그 예제는 다음과 같다.

 

JSTL + EL 예제

 

 

<c:forEach items="${array}" var="el" varStatus="idx">
  <p>${el.text}<p>
</c:forEach>

 

 

EL의 연산자 종류

연산부호   연산자
 +
-
 *
 /  div 
 && and 
||   or 
 == eq 
!=  ne 
ge 
lt 
<=  ge 
>=  le 

 

 

주의할 점 

문자열에 대해서는 + 연산자는 할 수 없다.

 
따라서 다음과 같은 방법으로 표현한다.

 

<c:forEach items="${array}" var="el" varStatus="idx">
  <p>${idx.index} : ${el.text}<p>
</c:forEach>

 

JSTL CORE종류

 
<c:set>   변수명에 값을 할당
 <c:out>  값을 출력
 <c:if>  조건식에 해당하는 블럭과 사용될 scope설정
 <c:choose>  다른 언어의 switch와 비슷 
 <c:when>  switch문의 case에 해당
 <c:otherwise>  switch문의 default에 해당
 <c:forEach>  다른언어의 loop문 items 속성에 배열을 할당할 수 있음

 

주로 사용하는 것은 위와 같다.