728x90
반응형
EL이란?
EL은 표현을 위한 언어로 JSP 스크립트의 표현식을 대신하여 속성 값을 쉽게 출력하도록 고안된 언어이다.
즉, 표현식 <%= %>를 대체할 수 있다.
EL 표현식에서 도트 연산자 왼쪽은 반드시 java.util.Map 객체 또는 Java Bean 객체여야 한다.
EL 표현식에서 도트 연산자 오른쪽은 반드시 맵의 키이거나 Bean 프로퍼티여야 한다.
EL 문법 2가지
[ ] 연산자 안의 값이 문자열인 경우, 맵의 키가 될 수도 있고, Bean 프로퍼티나 리스트 및 배열의 인덱스가 될 수 있다.
ex) 1
JSTL (JSP Standard Tag library)
JSP 페이지 내에서 자바 코드를 바로 사용하지 않고 로직을 내장하는 효율적인 방법을 제공한다.
표준화된 태그 셋을 사용하여 자바 코드가 들락거리는 것보다 더 코드의 유지보수가 쉽다.
JSTL은 XML 데이터 처리와 조건문, 반복문, 국제화와 지역화 같은 일을 처리하기 위한 JSP 태그 라이브러리를 추가하여 JSP 사양을 확장했다.
ex)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% String[] color={"red","green","blue"}; %> <!-- 1. <c:set> : 변수 설정 --> <c:set var="num1" value="${10}"/> <!-- int num1=10; 과 동일 --> <c:set var="num2">20</c:set> num1 + num2 =${num1 + num2}<br><br> <!-- 2. <c:remove> : 변수 제거 --> <c:remove var="num1"/> num1 + num2 =${num1 + num2}<br><br> <!-- 3. <c:forEach> : 배열 요소 반복 출력 --> <!-- varStatus:상태변수(count, index, current등 사용 가능) --> <c:forEach items="<%=color%>" varStatus="i"> ${i.count} ${i.current}<br> </c:forEach><br><br> <!-- 4. <c:forTokens> : 토큰 분리 --> <c:forTokens items="벤츠,소나타,아우디,BMW,포르쉐" delims="," var="car"> ${car} </c:forTokens><br><br> <!-- 5. <c:forEach> : 범위 내 숫자 반복 출력 (step 이 있음) --> <!-- 1 2 3 4 5 6 7 8 9 10 --> <c:forEach begin="1" end="10" step="2" var="num"> ${num} </c:forEach> </body> </html> | cs |
JSTL 태그를 사용하기 위해선, 아래 라이브러리를 프로젝트 lib 경로에 넣어주어야한다.
<%@taglibprefix=“c”uri=“http://java.sun.com/jsp/jstl/core“%>
HTML 선언부에 위 코드를 선언해준다.
728x90
반응형
'✨ Back-end > JSP' 카테고리의 다른 글
[JSP] 자바빈즈 <jsp:useBean>, getProperty 와 setProperty (0) | 2023.08.13 |
---|---|
[JSP] 표준 액션 태그 <jsp : forward >와 <jsp : include > 차이 (0) | 2023.08.13 |
[JSP] 내장 객체 _jspService() (0) | 2023.08.13 |
[JSP] 스크립트 기반 태그 5가지 (스크립트릿, 표현식, 선언문, 지시자, 주석문) (0) | 2023.08.13 |
[JSP] 기본객체(Page, Request, Session, Application), 서블릿 스코프(Scope) (0) | 2023.08.09 |
댓글