5. EL, JSTL

EL

기존에 사용하는 스크립트릿을 <%= %>를 대체할 수 있따.
<%= vo.getName %>를

$ { vo.name } 으로 대체 가능하다

이를 EL(Expression Language)이라 한다.
웹 페이지에 값을 표시(표현),하는 데 사용되는 태그
JSP의 출력 문법을 보완하는 역할
${} 를 사용한다.
표현언어의 식을 계산해서 출력한다.
null 는 공백으로 출력한다.

스클릿틀릿 사용예시
1
2
3
4
5
6
7
<%
if( null == session.getAttribute( "authUser" ) ) {
%>
<p>로그인을 하지 않았습니다.</p>
<%
}
%>

위의 코드는 다음과 같다

EL의 사용예시
1
2
3
<c:if test="${ empty authUser }">
<p>로그인을 하지 않았습니다.</p>
</c:if>

EL로 내장객체 접근하기
-pageScope : 페이지 범위에 빈을 저장
-requestScope : 요청 범위에서 빈을 저장
-sessionScope : 세션 범위에서 빈을 저장
-applicationScope : 어플리케이션 범위에서 빈을 저장

JSTL

JSP에서 사용 가능한 표준 태그 라이브러리
JSP 코드가 깔끔해지고 가독성이 좋아진다.
JSTL 라이브러리
-기본기능 ( core )
-형식화(format)
-데이터베이스(sql)
-XML 처리(xml)
-함수처리(function)

jstl.jar 파일을 구해서 프로젝트 우클릭 후 자바빌드패스의 라이브러리탭에서 추가하고 deployment assembly에 추가

아래 3개는 추가해놓고 사용하여야 한다.
-기본기능 ( core ) :
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core" prefix=”c”%>

-형식화(format) :
<%@ taglib uri=”http://java.sun.com/jsp/jstl/fmt" prefix=”fmt”%>

-함수처리(function) :
<%@ taglib uri=”http://java.sun.com/jsp/jstl/functions" prefix=”fn”%>

JSTL은 if문을 제공하나 else if , else를 제공하지 않는다. 이를 대체하여 사용할 수 있는것이 choose이다.

choose사용예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<c:choose>
<c:when test="${param.color == 1}">
<span style="color: red">빨강</span>
</c:when>

<c:when test="${param.color == 2}">
<span style="color: green">초록</span>
</c:when>

<c:when test="${param.color == 3}">
<span style="color: blue">파랑</span>
</c:when>

<c:otherwise>
<span style="color: black">검정</span>
</c:otherwise>
</c:choose>

-변수에 값을 설정한다.
<c:set var=”count” value=”10” scope=”page” />

Share