2019. 5. 10. 09:00ㆍ카테고리 없음
--------------------------------------------JSTL---------------------------------------------
============================================================
※. 이클립스에서 JSTL을 사용할려면
C:\app\apache-tomcat-9.0.19\webapps\examples\WEB-INF\lib
위의 톰캣 주소에 jar 두개를 아래의 경로로 붙여넣기 한 후 이클립스에서 lib를 새로고침한다.
C:\projects\web_workspace\sample\WebContent\WEB-INF\lib
============================================================
JSTL을 사용하면 JSP안의 if문을 아래처럼 간단하게 사용할 수 있다.
========================================
일반적 --> JSTL
<% <if test=" ">
if( ) { 태그
%> </if>
태그
<%
}
%>
=========================================
JSTL의 종류
코어 태그 라이브러리
- 변수지원
set : 표현식에 해당하는 값을 출력으로 보낸다(표현한다.)
<별칭명:out value="~"></별칭명:out>
지정된 스코프의 객체에 속성을 저장한다.
스코프를 지정하지 않으면 page다.
<c:set var="변수명" value="값" scope="스코프" />
<c:set var="a" value="홍길동" scope="page" />
pageContext.setAttribute("a", "홍길동");
<c:set var="a" value="홍길동" scope="request" />
request.setAttribute("a", "홍길동");
<c:set var="a" value="홍길동" scope="session" />
session.setAttribute("a", "홍길동");
<c:set var="a" value="홍길동" scope="application" />
application.setAttribute("a", "홍길동");
remove : 설정한 변수를 제거한다.
지정된 스코프의 객체에서 속성을 삭제한다.
스코프를 지정하지 않음 page다
<c:remove var="변수명" scope="스코프" />
<c:remove var="a" scope="page" />
pageContext.removeAttribute("a");
<c:remove var="a" scope="request" />
request.removeAttribute("a");
<c:remove var="a" scope="session" />
session.removeAttribute("a");
<c:remove var="a" scope="application" />
application.removeAttribute("a");
- 흐름제어 (if, if ~ else if) 중요!
if : if문이다.
choose : 다중조건을 처리할 때 사용
choose, when, otherwise를 사용하며 when과 otherwise는
choose 내부에서만 사용가능하다.
when에는 각각의 조건을 쓸수 있도 otherwise는 마지막 else처럼 쓰인다.
otherwise는 단 한번만 사용이 가능하다.
- 반복처리 (for) 중요!
forEach : 컨텐츠를 반복 출력할 수 있다. (for문)
※.
varStatus 옵션명 사용예) ${a.옵션명}
index - 0부터 시작하는 순번
count - 1부터 시작하는 순번
first - 첫번째 행이면 true
last - 마지막 행이면 true
- 패이징 처리에 주로 사용된다.
forTokens : 구분자로 분리된 각각의 토큰을 처리할 때 사용된다.
- URL 지원 (리다이렉션, include)
import : URL을 사용하여 다른 자원의 결과를 삽입한다.
redirect : 지정한 경로로 리다이렉트 한다.
url : URL을 재작성 한다.
- 기타 (값의 표현, EL)
out : JspWriter에 내용을 출력한다.
catch : 익셉션을 처리할 때 사용한다.
국제화 태그 라이브러리 (i18n -> internationalization)
- 포멧팅
- 날짜 숫자에 대한 포멧팅
- formatNumber - 1000000 -> 1,000,000 등 변경가능
- formatDate - 2019-05-07 -> 2019/05/07 등등 변경가능
XML 태그 라이브러리 (사용 X)
데이터베이스 태그 라이브러리 (사용 X)
함수 태그 라이브러리 (사용 X)
//////JSTL을 사용할려면 taglib를 설정해야 한다.
<%@ taglib prefix="별칭명" uri="태그라이브러리 이름"
uri가 url처럼 생긴이유가 이름이 유니크(유일값)하기 위해
core tag 의 uri - http://java.sun.com/jsp/jstl/core
국제화 태그 의 uri - http://java.sun.com/jsp/jstl/fmt
URL과 URL
- URL
* Uniform Resource Locator
* 리소스(자원)의 위치를 나타낸다.
* 실제 파일의 물리적인 위치를 나타낸다.
예) http://localhost/images/1.png
http://localhost/hta/main.jsp
- URI
* Uniform Resource Identifier
* 리소스(자원)를 구분하기 위한 식별자를 뜻한다.
* 클라이언트의 요청을 구분하기 위한 용도로 활용되거나,
리소스(자원)에 대한 구분자열할을 한다.
예) http://www.naver.com/news/list.nhn
http://www.naver.com/movie/list.nhn
html의 escape 문자
- html에서 특수문자를 표현할 때 사용되는 문자 (뒤에 ;를 붙여야한다.)
공백  
< <
> >
"" "
' &apos
& &
예시 ) JSTL 코어 태그 라이브러리 out 사용하기 <별칭명:out value="~"></별칭명:out>
예시2) JSTL 코어 태그 라이브러니 if test="" 사용하기
예시3) choose, when, otherwise (else같은것) 사용하기
예시3-1) choose, when 사용하기
예시4) forEach 사용하기
예시4-1) forEach 사용하기
예시4-2) forEach 의 begin, end 사용하기
예시4-3) choose, when 와 forEach (var items varStatus) 사용하기
예시5) formatDate 사용하기
예시6) formatNumber 사용하기