JSTL.

Slides:



Advertisements
Similar presentations
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
Advertisements

ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
新 연구관리 프로그램 SAP 설치 안내 1. SAP GUI 7.3 설치 2전자증빙 솔루션 설치 배포 :
Image & Video processing
피티라인 파워포인트 템플릿.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
Internet Computing KUT Youn-Hee Han
Chapter 14 : JSP 고급4. chapter 14 : JSP 고급4 학습목표 커스텀 태그 종류 JSTL ( JSP Standard Tag Library ) 사용자 커스텀 태그 커스텀 태그 작성 클래스 기반 커스텀 태그 작성 태그 파일 기반 커스텀 태그 작성.
2. JSP의 환경설정 제 2장 JSP의 환경설정 웹 애플리케이션과 디렉토리 구성 JDK 설치하기 JSP Container
Ubiquitous Computing Practice - Part I (Installation) -
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
JSP Programming with a Workbook
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
컴퓨터응용과학부 Java Enterprize(DB) 제 13 주
24강. JSTL(JSP standard Tag Library)
Java 기초 (Java JDK 설치 및 환경설정)
1.4 프로그래밍을 위한 환경 설정.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
컴퓨터응용과학부 Java Enterprize(DB) 제 12 주
12 ███████████ 12.
Visual Basic .NET 처음 사용하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터응용과학부 Java Enterprize(DB) 제 15 주
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
KHS JDBC Programming 4 KHS
JSTL JSTL의 개념을 이해한다 JSTL의 분류 및 활용 범위를 익힌다 코어 태그 라이브러리의 활용 방법을 배운다
제 13 장 JSTL 학기 인터넷비즈니스과 강 환수 교수.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
[INA470] Java Programming Youn-Hee Han
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Method & library.
CHAP 13. 방명록 만들기 실습.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
JDBC Lecture 004 By MINIO.
전자정부 표준프레임워크 호환성 가이드 전자정부 표준프레임워크 사업단 실행환경 개발팀.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
Lesson 2. 기본 데이터형.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
JSTL Core 2015 Web Service Computing.
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
오토베이스9 사용자 라이브러리 오토베이스 교육센터 그래픽 모듈 설정과 화면전환에 대하여 자세히 알아본다. <목차>
STS 에서 웹 서버 설치 방법.
OpenCV 설정 2.21 만든이 딩딩.
암호학 응용 Applied cryptography
소리 편집 안 재 형.
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
CHAP 15. 데이터 스토리지.
피티라인 파워포인트 템플릿.
Docker Study 6~7.
7 생성자 함수.
6 객체.
JAVA 프로그래밍 16장 JNLP.
20 XMLHttpRequest.
Presentation transcript:

JSTL

JSTL 개요 Custom Tag의 표준 많은 JSP 어플리케이션을 간단한 태그로 캡슐화 가독성이 좋아짐. JSTL은 JSP 페이지의 로직을 담당하는 부분인 if, for, while, 데이터베이스 처리 등과 관련된 표준 커스텀 태그를 제공 모든 태그는 시작태그와 종료태그가 쌍으로 이 루어짐.

비교

JSTL을 사용하기 위한 환경설정 http://jakarta.apache.org 사이트 접속 Jakarta-taglibs-standard-1.1.2.zip 파일 다운로드 압축 해제 후 lib폴더에서 jstl.jar,standard.jar 복 사 톰갯홈 \webapps\ROOT\WEB-INF\lib로 붙여넣 기

JSTL 1.1 라이브러리 라이브러리 URI 접두어 예시 Core(코어) 기능:변수설정, 제거, 흐름제어, URL사용 http://java.sun.com/jsp/jstl/core C <c:tagname …> XML Processing 흐름제어, XML변환 http://java.sun.com/jsp/jstl/xml X <x:tagname …> |18N capable formatting 기능:국가에 따른 메시지처리, 숫자/날짜 형식 http://java.sun.com/jsp/jstl/fmt fmt <fmt:tagname …> Datatbase access(SQL) 기능:SQL 쿼리 처리 http://java.sun.com/jsp/jstl/sql sql <sql:tagname …> Function(함수) 기능:함수 지원 http://java.sun.com/jsp/jstl/functions fn fn:functionName(…)

JSTL core core(코어) 코어 태그 라이브러리 사용 변수선언, 삭제 등 변수와 관련된 작업 및 if문, for문 등 과 같은 제어문, URL 처리등에 사용 코어 태그 라이브러리 사용 <%@ tablib prefix=“c” uri=http://java.sun.com/jsp/jstl/core” %> 태그 라이브러리 정보 Display Name : JSTL core Version : 1.1 Short Name : c URI : http://java.sun.com/jsp/jstl/core

Jstl core Tag Summary (1) 태그 설명 Catch ∙ body 위치에서 실행되는 코드의 예외를 잡아냄. ∙ <c:catch>태그로 사용됨. Choose ∙ 자바의 switch문과 같지만, 조건에 문자열 비교도 가능 ∙ 한 개 이상의 <when>과 한 개의 <otherwise> 서브 태그를 가짐. ∙ <c:choose>태그로 사용됨. if ∙ 조건문 사용시 씀. ∙ <c:if>태그로 사용됨. import ∙ 웹 애플리케이션 내부의 자원과 http, ftp와 같은 외부에 있는 자원을 가져옴. ∙ 자원을 가공할 수도 있고, 편집도 가능. ∙ <c:import>태그로 사용됨. forEach ∙ 객체 전체에 걸쳐 반복 실행시 사용 ∙ <c:forEach>태그로 사용됨. forTokens ∙ 자바의 StringTokenizer 클래스와 동일 ∙ <c:forToken>태그로 사용됨. out ∙ JSP 표현식을 대체하는 것으로 사용됨. ∙ <c:out>태그로 사용됨.

Jstl core Tag Summary (2) 태그 설명 otherwise ∙ <choose>의 서브 태그로 <when>태그 다음에 표시되는 것으로 조건을 만족하지 못하는 경우에 사용 ∙ <c:otherwise>태그로 사용됨 param ∙ <import>태그의 URL 뒤에 파라미터로 붙여서 사용할 수 있음. ∙ <c:param>태그로 사용됨. redirect ∙ response.sendRedirect()를 대체하는 태그로, 지정한 다른 페이지로 이동 ∙ <c:redirect>태그로 사용됨. remove ∙ JSP의 removeAttribute()와 같은 역할 ∙ (page|request|session|application)범위의 변수(속성)를 제거 함. ∙ <c:remove>태그로 사용됨. set ∙ JSP의 setAttribute()와 같은 역할 ∙ (page|request|session|application)범위의 변수(속성)를 설정 함. ∙ <c:set>태그로 사용됨. url ∙ 쿼리 파라미터로부터 URL을 생성함. ∙ <c:url>태그로 사용됨. when ∙ <choose>의 서브 태그로 조건을 만족하는 경우에 사용 함. ∙ <c:when>태그로 사용됨.

jstlEx1.jsp <c:set var=“varName” value=“${value}” /> scope=“request” />

jstlEx2.jsp

jstlEx3.jsp <c:forEach var=:k: begin=“1” end=“100”> <c:out value=“${k%2==0}”/> </c:forEach>

jstlEx4.jsp <c:forTokens var=“color” items=“red,yellow,black” delims=“,”> <c:out value=“${color}” /> </c:forTokens>

jstlEx5.jsp

JSTL XML xml을 처리하기 위한 것으로 xml출력, 흐름제어, XML변환등의 작업에 사용 XML 태그 라이브러리 사용 <%@ taglib prefix=“x” uri=http://java.sun.com/jsp/jstl/xml” %> 태그 라이브러리 정보 Display Name : JSTL xml Version : 1.1 Short Name : x URI : http://java.sun.com/jsp/jstl/xml

XML Tag Summary(1) 태그 설명 choose <x:choose> <x:when select=“XPathExpression”>body 내용 </x:when> <x:otherwise>body 내용</x:otherwise> </x:choose> out ∙ Xpath에 지정한 패턴에 따라 xml내용 출력 <x:out select=“XPathExpression” [escapeXml=“{true|false}”]/> if ∙ 조건문에 사용 <x:if select=“XPathExperssion” var=“varName” [scope=“{page|request|session|application}”]/> forEach ∙ Xpath에 따라서 해당하는 엘리먼트 수만큼 반복 수행 <x:forEach [var=“varname”] seelct=“XPathExpression”> body 내용 </x:forEach> otherwise ∙ 조건이 false일 때 수행 param ∙ 파라미터 사용 시에 씀. <x:param name=“name” />

XML Tag Summary(2) 태그 설명 parse ∙ xml문서를 읽어서 파싱함. <x:parse xml=“XMLDocument” {var=“var” [scope=“scopeName”]|varDom=“var” [scopeDom=“scopeName”]} [systemid=“systemid”] [filter=“filter”]/> set ∙ Xpath에 따라 선택된 내용을 변수에 저장 <x:set select=“XPathExpression” var=“varName” [scope=“{page|request|session|application}”]/> transform ∙ xml과 xslt 파일을 결합해서 새로운 형식의 문서를 생성 함. <x:transform xml=“XMLDocument” xslt=“XSLTStylesheet” [xmlSystemid=“XMLSystemid”] [xsltSystemid=“XSLTSystemid”][{var=“varName” [scope=“scopeName”]|result=“resultObject”}]/> when ∙ 조건이 true일 때 수행 함.

jstlEx10.jsp

커스텀 태그 사용자가 직접 자신만의 태그를 만들어 사용할 수 있는 기술 커스텀 태그 라이브러리 이점 사용자가 직접 자신만의 태그를 만들어 사용할 수 있는 기술 커스텀 태그 라이브러리 사용자가 정의한 커스텀 태그를 모아 놓은 것. 이점 한 번 작성하면 언제든지 필요한 곳에서 재사용이 가능, 타 사용자에게 배포하여 재사용될 수 있음 프로그램의 가독성 향상 JSP의 스크립트를 사용하지 않으므로 자바 문법에 거의 의존하지 않기 때문에 JSP페이지의 작성이 쉬 움. 디자이너와 프로그래머가 각자의 일을 분담할 수 있어 효율적인 작업이 가능

자바 클래스 파일을 태그로 사용할 수 있도록 등록 JSP페이지에서 사용할 수 있도록 TLD 파일 등록 커스텀 태그 작성 방법 커스텀 태그를 정의하는 자바 파일 작성 자바의 클래스를 커스텀 태그로 사용하기 위해 TLD(Tag Library Descriptor)파일에 등록(정의) JSP 페이지에서 해당 커스텀 태그를 사용할 수 있 도록 하기 위해 wdb.xml에 등록 JSP 페이지에서 해당 커스텀 태그 사용 자바 클래스 파일 (.class) TLD 파일 (.tld) web.xml JSP 페이지 (.jsp) 커스텀태그 정의 (구조, 로직) 자바 클래스 파일을 태그로 사용할 수 있도록 등록 JSP페이지에서 사용할 수 있도록 TLD 파일 등록 커스텀 태그 사용 .java 파일 작성 후 컴파일

파일위치 자바 클래스 파일 TLD 파일 web.xml JSP 페이지 웹 애플리케이션 폴더\WEB-INF\classes 폴더 내에 위치(모든 자바 클래스 파일은 이 위치에 존재해야 함) TLD 파일 웹 애플리케이션 폴더\WEB-INF\tlds 폴더 내에 위치 web.xml 웹 애플리케이션 폴더\WEB-INF 폴더 내에 위치 이 파일을 수정해서 사용함. JSP 페이지 웹 애플리케이션 폴더\폴더

환경설정 Javax.servlet.jsp.tagext 패키지가 필요하며 이 패 키지는 jsp-api.jar파일이 필요한데 톰캣이 기본 적으로 제공 톰캣홈\common\lib 폴더 내에 jsp-api.jar를 복사 자바폴더\lib에 붙여넣기 제어판에서 환경변수 CLASSPATH 편집 ~\jdk1.5.07\lib\jsp-api.jar를 추가

커스텀 태그의 설명 및 작성 커스텀 태그 작성 Tag, InterationTag 인터페이스를 미리 구현해놓은 TagSupport 클래스 또는 BodyTag 인터페이스를 미리 구현해놓은 BodyTagSupport 클래스를 상속받아 사용 Tag Interface Method Summary Int doEndTag() 끝 태그를 만날 때 실행 doStartTag() 시작 태그를 만날 때 실행 Tag getParent() 부모 태그를 구함 Void Release() 커스텀 태그를 사용하지 않을 때 실행 setPageContext(PageContext pc) 커스텀 태그가 포함된 JSP 페이지의 컨텍스트를 전달받음 void setParent(Tag t) 해당 태그의 부모 태그가 존재할 때 부모 태그를 설정 int doAfterBody() 태그의 body 내용을 처리한 뒤에 실햄 doInitBody() Body를 수행하기 위한 준비를 함 setBodyContent(BodyContent b) Bodycontent 속성을 지정

WelcomeTag.java

WelcomeTag.tld 태그라이브러리에 대한 설명부분 태그라이브러리 버전 : 필수요소 태그라이브러리 이름 : 필수요소 ∙커스텀 태그당 1개씩 매핑됨. ∙ <body-content>태그는 커스텀 태그의 body가 존재하지 않을 때 empty로 입력. 필수조건

web.xml

web.xml

welcomeTag.jsp

참고문헌 JSP 2.0 웹프로그래밍, 삼양미디어, 김은옥 저 16장 JSTL(JSP Standard Tag Library) 17장 커스텀 태그(Custom Tag)