공부노트/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 속성에 배열을 할당할 수 있음 |
주로 사용하는 것은 위와 같다.