EL(Expression language)란?
EL은 JSP 2.0 스펙에 추가된 개념입니다. View 를 담당하는 JSP 에서 자바코드를 더 이상 사용하지 않고 좀더 간편하게 출력하기 위해 만들어 졌습니다. Tomcat 이 실행되면 자동으로 형변환되어 자바코드로 인식합니다.
EL의 사용방법
-
Parameter 출력 : ${param.이름}
-
기본형(int, double, String) 출력 : ${이름}
-
객체 출력 : ${이름명.멤버변수명}
-
배열 출력 : ${이름객체[인덱스] }
-
ArrayList<객체>출력 : ${이름[인덱스] }
연산자 |
의미 |
A == B 또는 A eq B |
A 와 B 는 같습니다. |
A != B 또는 A ne B |
A 와 B 는 다릅니다. |
A < B 또는 A lt B |
A 는 B 보다 작습니다. |
A > B 또는 A gt B |
A 는 B 보다 큽니다. |
A <= B 또는 A le B |
A 는 B 보다 작거나 같습니다. |
A >= B 또는 A ge B |
A 는 B 보다 크거나 같습니다. |
A / B 또는 A div B |
A 를 B 로 나눕니다. |
A % B 또는 A mod B |
A 를 B 로 나눈 값의 나머지 입니다. |
JSTL(JSP Standard Tag Library)란?
JSP 에서 자주 사용하는 기능 ( 연산이나 조건 반복문, 데이터 조작 ) 을 구현할 수 있는 커스텀 태그 라이브러리 입니다.
JSTL을 사용하기 위해선 .Jar 파일이 필요합니다.
1. MavenRepository에 접속하여 JSTL.jar를 다운로드 받습니다.
Maven Repository: Search/Browse/Explore
JGraphX is a Java Swing diagramming (graph visualisation) library Last Release on Mar 23, 2020
mvnrepository.com
2. 다운 받은 JSTL.jar파일을 WEB-INF/lib 안에 넣어 줍니다.
3. JSTL을 사용하기 위해선 JSP페이지 에서 선언하여 사용 할 수 있습니다.
Core (prefix : c)
실행 흐름 제어 및 기능을 제공합니다.
URI → http://java.sun.com/jsp/jstl/core
Formatting (prefix : fmt)
자, 날짜, 시간을 형태를 변환 기능을 제공합니다.
URI → http://java.sun.com/jsp/jstl/fmt
Function (prefix : fn)
문자열을 제공하는 함수 제공합니다.
URI → http://java.sun.com/jsp/jstl/functions
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!-- JSTL 을 사용하기 위해서는 선언을 해야 합니다. -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<!-- JSTL Core -->
<!-- 변수 선언 -->
<c:set var="helloJSTL" value="JSTL입니다." />
<h3>${helloJSTL}</h3>
<c:remove var="helloJSTL" />
${helloJSTL}
<c:set var="helloJSTL" value="JSTL입니다." />
<c:set var="now" value="<%=new java.util.Date()%>" />
<h3>${now}</h3>
<c:set var="login" value="true" />
<h3>${login}</h3>
<!-- if 구문 -->
<c:if test="${login}">
<p>
<a href="/loginOK.jsp">로그인</a>
</p>
</c:if>
<!-- if - else 구문 -->
<c:choose>
<c:when test="${login}">
<p>
<a href="/loginOUT.jsp">로그아웃</a>
</p>
</c:when>
<c:otherwise>
<p>
<a href="/login.jsp">로그인</a>
</p>
</c:otherwise>
</c:choose>
<!-- for 구문 -->
<c:forEach var="i" begin="0" end="10" step="1" varStatus="lastValue">
<p>
i = ${i}
<c:if test="${lastValue.last}">
last = ${i}
</c:if>
</p>
</c:forEach>
<!-- forEach 구문 -->
<c:forEach var="eachValue" items="${list}" varStatus="varValue">
<p>(${varValue.index}) = ${eachValue.listAttribute}</p>
</c:forEach>
<!-- JSTL Formating -->
<!-- 날짜 패턴 변화 -->
<p>
pattern 1 :
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd" />
</p>
<p>
pattern 2 :
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd hh:mm:ss" />
</p>
<!-- JSTL Function -->
<!-- 문자열 Function을 불러서 사용할 수 있씁니다. -->
<p>${fn:substring(helloJSTL,3,6)}</p>
</body>
</html>
'Web Programming > JSP' 카테고리의 다른 글
11. JSP 한글처리 (0) | 2020.03.25 |
---|---|
9. JSP DTO , DAO (0) | 2020.03.24 |
8. JSP ConnectionPool (0) | 2020.03.24 |
7. JSP DB Connect (0) | 2020.03.23 |
6. JSP Cookie & Session (0) | 2020.03.21 |