18 Mar 2020
Web 03
JSTL
JSTL (JSP Standard Tag Library)
- JSP 표준 태그 제공
- JSP만의 기능을 가진 태그를 추가하여 사용 가능
Core (prefix : c, uri : http://java.sun.com/jsp/jstl/core)
- 일반 프로그래밍에서 사용하는 기능 제공
- 변수, 실행흐름의 컨트롤, 페이지 이동 등의 기능 제공
<c:set var="cnt" value=" ${ cnt + 1 } "/> <!-- 양쪽 공백이 존재 -->
${ cnt } <br> <!-- " 12 " (양쪽 공백을 포함한 문자열 형태) -->
<c:set var="cnt" value="${ cnt + 1 }"/> <!-- 문자열과 정수의 + 연산 -->
${ cnt } <br> <!-- " 12 " + 1 (타입 불일치 예외 발생) -->
...
pageContext 영역 : ${ cnt } <br>
request 영역 : ${ requestScope.cnt } <br>
- value 속성의 값을 cnt에 적용하는데, 양쪽 공백까지 같이 적용.
- 문자열 데이터로 값이 저장
- 문자열 데이터와 정수 데이터의 연산 시 예외 발생
- EL에서의 + 연산은 정수만 가능
remove Tag
-
pageContext 영역 data 삭제
<c:remove var="data" scope="page"/>
-
remove 영역 data 삭제
<c:remove var="data" scope="request"/>
if Tag
<c:if test="${ not empty param.type }">
- jstl은 else가 따로 없기 때문에 여러 조건을 주기 위해서는 if문만 사용해야 한다.
choose Tag
<c:choose>
<c:when>
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
-
- if~else 또는 switch~case와 유사하게 사용
-
- else if 또는 case와 유사, 내부 조건을 비교
-
- default와 유사, 조건이 만족하지 않은 경우
forEach Tag
- Java의 for문과 같다.
<c:forEach var="element" items="${ members }">
${ element }
</c:forEach>
<!-- 1 ~ 10 까지의 정수 출력 -->
<c:forEach var="i" begin="1" end="10">
${ i }
</c:forEach>
<!-- 1 ~ 100까지의 홀수 합계 출력 -->
<c:set var="sum" value="0"/>
<c:forEach var="i" begin="1" end="100" step="2"> <%-- step : 증감 --%>
<c:set var="sum" value="${ sum + i }"/>
</c:forEach>
out Tag
-
value 속성만 지정
<c:out value="JSTL"/>
-
value 속성 값이 없는 경우(default)
<c:out value="${ msg }" default="msg가 영역에 존재하지 않습니다."/>
-
HTML 요소를 포함하는 경우 (escapeXml=”false”)
<c:out value="<hr>" escapeXml="false"/>
- 기본적으로 escapeXml 속성의 값은 true,
true면 <hr>을 html에서 처럼 선이 아니고 그냥 <hr> 문자열 그 자체로 본다. - HTML 요소 기능을 표현하려면 escapeXml 속성을 false로 지정
- 기본적으로 escapeXml 속성의 값은 true,
XML (Extensible Mark-up Language)
- 데이터 처리를 위해 확장된 언어
- HTML은 문서를 표현하는데 주로 사용되지만, XML은 “데이터 저장 양식”으로도 활용
[JSP 내장 객체 (Built-in)]
out : JSP 내의 출력 스트림 객체
page : JSP 내의 자바 클래스 객체
pageContext : JSP 페이지의 정보를 저장하는 객체
request : 요청 정보를 저장하는 객체
response : 응답 정보를 저장하는 객체
session : 웹 브라우저의 정보를 유지하기 위해 세션 정보를 저장하는 객체
application : 웹 어플리케이션 영역 정보를 저장하는 객체
exception : JSP 내의 예외가 발생하는 경우 사용하는 객체
config : JSP의 설정 정보를 저장하는 객체
Til next time,
Jeong-Yoon
at 00:00
