EL(Expression Language)
- 표현 언어를 이해하고 속성 값들을 편리하게 출력하기 위해 제공된 언어.
- 자바가 가진 데이터를 화면에 출력하는 기능을 가진 언어이다.
- <%= 자바코드 % >, JSP의 표현식은 자바로 되어있다. 되도록 JSP(HTML기반) 페이지에서는 자바구문을 사용하지 말자. => EL으로 대신 표현하자.
- 수치 연산, 관계 연산, 논리 연산자 제공
- 자바 클래스 메서드 호출 기능 제공
-표현 언어만의 기본 객체 제공
**EL 표현방법
1. ${값}
2. #{식} : Deferred Expression이라고 한다
- JSP 2.1버전 부터 새롭게 지원하는 구문으로 JSF(JavaServer Faces)에서 사용되던 표현 언어 구문.
- ${값}은 표현식이 실행되는 시점에 곧바로 값을 계산하고 #{식}은 실제로 값이 실제로 필요한 시점에 값을 계산한다.
- 허용되는 태그의 속성에만 위치할 수 있다.
** (스크립트 언어) <%=abc%>를 (EL) $[abc]로 간단하게 사용할수 있다.
**EL 기본 객체
- pageContext : JSP의 page 기본 객체와 동일하다.
- pageScope : pageContext 기본객체에 저장된 속성의 <속성,값> 매핑을 저장한 Map 객체
- requestScope : request 기본객체에 저장된 속성의 <속성,값> 매핑을 저장한 Map 객체
- sessionScope : session 기본객체에 저장된 속성의 <속성,값> 매핑을 저장한 Map 객체
- applicationScope : application 기본객체에 저장된 속성의 <속성,값> 매핑을 저장한 Map 객체
- param : 요청 파라미터의 <파라미터이름, 값> 매핑을 저장한 Map 객체, 타입은 String
- paramValues : 요청 파라미터의 <파라미터이름, 값 배열> 매핑을 저장한 Map 객체, 타입은 String[]
- header : 요청 정보의 <헤더이름, 값> 매핑을 저장한 Map 객체
- headerValues : 요청 정보의 <헤더이름, 값 배열> 매핑을 저장한 Map 객체
- cookie : <쿠키 이름, Cookie> 매핑을 저장한 Map객체
- initParam : 초기화 파라미터의 <이름, 값> 매핑을 저장한 Map 객체
출처: http://gangzzang.tistory.com/entry/JSP-표현-언어Expression-Language-또는-익스프레션-언어 [갱짱.study]
JSTL(Jsp Standard Tag Library)
- 자바 구문을 사용하지 말고 태그형식으로 구현하는것.
- 표준 액션태그로 처리하기 힘든 부분을 담당.
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 태그를 맨위에 선언해준다.
- jstl.jar가 필요하다.
- WepContent -> WEB-INF -> lib 에 jstl.jar를 넣는다.
**<c:set>
- 변수를 선언하는 태그
< c:set var="변수이름" value="값"/>
<c:set var="n2" value="${n2+20}"></c:set>
<div>n2 : ${n2 }</div>
<c:set var="n3" value="${n2}"></c:set>
<div>n3 : ${n3 }</div>
** <c: remove>
- 변수를 제거할때 사용하는 태그
- <c:remove var="변수이름"/>
<c:remove var="n3"></c:remove>
** <c:out>
- 변수 내용을 출력할 떄 사용되는 태그
**JSTL에서 기존의 값을 불러오려면 반드시 EL을 사용한다.
//예시
//제어문
** <c:if test="true|false">
<c:set var="num" value="10"/>
<c:if test="${num>0 }">
${num }은 양수입니다.
</c:if>
<c:if test="${num<0 }">
${num }은 음수입니다.
</c:if>
** <c:choose>
<!-- switch문 -->
<c:choose>
<c:when test="${num>0 }">양수</c:when>
<c:when test="${num<0 }">음수</c:when>
<c:otherwise>영</c:otherwise>
</c:choose>
//반복문
** <c:forEach>
<!-- VB문법 -->
<c:forEach begin="1" end="5" var="i" step="1">
<div>${i}. 항목</div>
</c:forEach>
<!-- for(String name : names) {} -->
<c:forEach var="name" items="${names}">
<div>${name}</div>
</c:forEach>
**<c:forTokens>
'JSP' 카테고리의 다른 글
MVC 디자인 패턴(Model1, Model2) (0) | 2018.11.20 |
---|---|
JSP 파일 업로드 (0) | 2018.11.16 |
JSP Session vs Cookie (세션과 쿠키) (0) | 2018.11.16 |
JSP 표준 액션 태그 (0) | 2018.11.14 |
JSP 내장 객체 및 생명주기(Scope) (0) | 2018.11.14 |