2013. 7. 29. 14:55

JSTL, JSP  Standard  Tag  Library

: JSP에는  XML처럼 사용자가 태그를 정의해서 사용하는 것이 가능하며 이런 사용자 정의 태그를 커

스텀  태그라고  하는데  이들  중  자주  사용하는  것을  표준으로  만들어  놓은  것이  JSTL  이다.  JSP

Standard  Tag  Library(JSTL)는 일반적인 웹 애플리케이션 기능인 반복(iteration)과 조건, 데이터 관리

포맷,  XML 조작, 데이터베이스 액세스를 구현하는 커스텀 태그 라이브러리 모음이다.


 JSP의 스크립트와 HTML 코드를 같이 혼용하여 사용하면 개발의 편리성을 제공하기 하지만, 코드의

복잡성을  증대시키는  문제점이  있다.  이러한  문제를  해결하기  위해  로직  부분의  JSP  코드를  태그로

대치시켜서 HTML과 같은 태그로 이루어진 코딩 방법이 제시되었다.


 JSTL은  JSP  페이지의  로직을 담당하는  부분인  if,  for,  while,  데이터베이스 처리등과  관련된  표준

커스텀 태그를 제공함으로써 코드를 깔끔하게 하고 가독성을 좋게 하며 데이터 포맷, 반복 콘텐트 또

는 조건 콘텐트 같은 전형적인 표현 레이어를 위한 표준 구현을 제공하기 때문에,  JSP 작성자들이 애

플리케이션 개발에 집중하는데 도움이 된다.


 JSTL 작성 시 한 가지 주의할 사항은 액션 태그도 그렇지만  JSTL과 커스텀 태그도  XML 기반에서

작성이 되었기 때문에 모든 태그는 시작 태그와 종료 태그의 쌍으로 이루어져야 한다.


기존의 컨텍스트에서  JSTL을 사용하기 위해서는 웹 어플리케이션의  WEB-INF/lib 디렉토리에 필요

한 라이브러리를 복사하면 된다.  JSTL의 주된 라이브러리 파일은  jstl.jar,  standard.jar 이고,  xml에서

지원되는 기능을 사용하기 위해서  jaxen-full.jar,  saxpath.jar,  jaxp-api.jar 파일 등이 필요하다. 이 파

일들을 웹 어플리케이션의 WEB-INF/lib 에 복사하고, 컨텍스트를 리 로드 한다.



태그의 종류

1. 코어

⋅기능  : 변수지원, 흐름제어, URL처리

⋅접두어(Prefix)  :  c

⋅directive : <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


■ 표현 언어(EL) 지원 기능

 <c:catch>,  <c:out>,  <c:remove>,  <c:set>

■ 흐름 제어 기능

 <c:choose>(<c:when>,  <c:otherwise>),  <c:forEach>,  <c:forTokens>,  <c:if>

■ URL 관리 기능

 <c:import>(<c:param>),  <c:redirect>  (<c:param>),  <c:url>  (<c:param>)


조건문, if

수:
//액션이 없어서 자기 자신에게 parameter를 전송하는 폼 ${param.num}은 짝수
${param.num}은 홀수
등록된게시물이음슴 ${pageIndexList}


조건문, if~when


 
  ${param.num1 }은 3과 4의 배수
${param.num1 }은 3의 배수
${param.num1 }은 4의 배수
${param.num1 }은 3또는 4의 배수가 아님


반복문, forEach



 ${param.num}*${n}=${param.num*n}
이름:${dto.name}, 제목:${dto.subject}
이름:${dto.name}, 제목:${dto.subject}
현재아이템:${s.current}
0부터의순서:${s.index}
1부터의순서:${s.count}
처음이냐?:${s.first}
마지막이냐?:${s.last}
${dto.num}
${dto.subject}
${dto.name}
${dto.created}
${dto.hitCount}





ㅎㅎㅎ


구글?


여긴어디게


'JSP > JspServlet' 카테고리의 다른 글

포워딩과 리다이렉트  (0) 2013.07.29
JSP 페이지기본설정  (0) 2013.07.29
Servlet  (0) 2013.07.29
Servlet list 작성  (0) 2013.07.29
JSP 개요  (0) 2013.07.29
Posted by 1+1은?