1. EL
EL이란 모델 오브젝트를 뷰에서 출력할 때 JSP의 출력 문법을 대체하는 간결한 표현 언어로, 단순히 모델의 내용을 출력할 때 쓰인다. 산술, 관계, 조건, 논리 연산자 모두 사용 가능하다.
1) 일반적인 값 출력
JSP 표현식 : <%= 값 %>
EL : ${값}
2) 모델 오브젝트의 프로퍼티 값 출력
예시
JSP 표현식 : <jsp:getProperty name="member" property="id"/>
EL : ${member.id}
3) EL의 내장 객체
Scope객체로 page/request/session/application 4가지가 있다.
- 주는 쪽 -
application.setAttribute(name,value)
session.setAttribute(name,value)
pageContext.setAttribute(name,value)
request.setAttribute(name,value)
- 받는 쪽 -
${applicationScope.name}
${sessionScope.name}
${pageScope.name}
${requestScope.name}
이 종류들의 차이에 대해서는 아래 링크해둔 포스팅의 javabean 파트에서 언급했다.
+추가)
param : 요청 parameter을 참조하는 객체, <form> 태그로 전달받은 파라미터.
※ 받는 쪽 : ${param["id"]} or ${param.id}
paramValues : 요청 parameter들을 참조하는 객체(배열)
initParam : Context 초기 parameter를 참조하는 객체
cookie : cookie 객체를 참조하는 객체
2. JSTL
JavaServer Pages Standard Tag Library, 자바서버 페이지 표준 태그 라이브러리.
Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트 모음이며,
XML 데이터 처리와 조건문, 반복문, 국제화, 지역화 같은 일을 처리할 수 있다.
1) 설치
설치 주소
tomcat.apache.org/taglibs/standard/
가장 위에 뜨는 Standard Taglib에서 다운로드를 진행하면 되는데, 본인은 Standard 1.1/ Servlet 2.4 버전으로 진행했다.
binaries/ 를 클릭하면
여러 버전의 jakarta-taglibs-standard zip 파일을 다운받을 수 있는데, 필자는 최신 버전인 1.1.2.zip을 다운 받았다.
다운 받고 압축을 풀었다면 lib 폴더에 jstl.jar, standard.jar 파일이 있을 것인데, 이 두 jar 파일을 복사해서
tomcat 폴더 내의 lib 폴더에 옮겨주면 끝이다.
2) 라이브러리의 종류
(1) Core
출력, 제어문, 반복문 등 기능을 포함
URI : http://java.sun.com/jsp/jstl/core
Prefix : c (접두사 c로 시작하는 태그는 해당 URI에서 가져오는 태그임을 명시한다)
사용 : <c:tag
선언
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
태그 종류
생략해도 되는 속성도 있음
<1> 출력 태그 - 반환 o (제거 된 변수라면 반환 x)
<c:out value="값" defalut="기본값" escapeXml="true/false"/>
* escapeXml : 태그를 포함할지 여부를 결정
* ex) value="${변수명}"
<2> 변수 설정 태그 - 반환 x
<c:set var="변수명" value="값" target="설정할 객체" property="값" scope="page/request/session/application"/>
<3> 변수 제거 태그 - 반환 x
<c:remove var="변수명" scope="page/request/session/application"/>
<4> 예외 처리 태그 - 반환 x
<c:catch var="변수명"> 오류 가능성이 있는 코드 </c:catch>
* 에러 문구가 변수에 저장됨
<5> 조건 태그 - 반환 x
<c:if test="조건" var="변수명" scope="page/request/session/application">
조건이 true일 시 처리 or 출력
</c:if>
* 조건의 true/false 값이 var로 지정한 변수에 담기게 된다. ${변수명} -> true/false
* ex) test="${2+3==5}"
<6> switch 태그 - 반환 x
<c:choose>
<c:when test="조건"> 처리 </c:when>
<c:otherwise> 처리 /c:otherwise>
</c:choose>
* otherwise는 걸치는 조건이 없을 때를 의미한다 (default)
<7> 반복 태그 - 반환 x
<c:forEach item="객체명" begin="index" end="index" step="증감식" var="변수명" varStatus="상태변수">
처리
</c:forEach>
- 1부터 10까지 출력하기 -
<c:forEach var="i" begin="1" end="10" step="1">
${i}
</c:forEach>
* item 객체에는 리스트, 배열이 들어갈 수 있음
* var은 item의 요소들이 순차적으로 할당되는 변수
* 상태 변수는 처리에서 활용할 수 있음
${status.begin} : begin값
${status.end} : end값
${status.step} : step값
${status.index} : 0부터의 순서
${status.count} : 1부터의 순서
${status.current} : 현재 forEach문의 번호
${status.first} : 첫 루프인지 여부
${status.last} : 마지막 루프 인지 여부
<8> 페이지 이동 태그
<c:redirect url="주소">
<9> parameter 전달 태그
<c:param name="파라미터명" value="값">
(2) XML
URL : http://java.sun.com/jsp/jstl/xml
Prefix : x
사용 : <x:tag
(3) Formatting
URI : http://java.sun.com/jsp/jstl/fmt
Prefix : fmt
사용 : <fmt:tag
(4) SQL
URI : http://java.sun.com/jsp/jstl/sql
Prefix : sql
사용 : <sql:tag
(5) Functions
URI : http://java.sun.com/jsp/jstl/functions
Prefix : fn
사용 : fn:function()
'Spring 사전 준비 > JSP Servlet' 카테고리의 다른 글
[JSP Servlet] 게시판 설계 준비과정 (0) | 2020.12.16 |
---|---|
[JSP Servlet] FrontController - Command 패턴 / 포워딩 (0) | 2020.12.14 |
[JSP Servlet] 서버에 파일 업로드하고 확인하기 (5) | 2020.12.06 |
[JSP Servlet] 데이터베이스(2) - DTO/DAO/ConnectionPool (0) | 2020.12.03 |
[JSP Servlet] 예외 페이지 / javabean / JDBC 기초 (0) | 2020.12.02 |
댓글