JSTL JSTL의 개념을 이해한다 JSTL의 분류 및 활용 범위를 익힌다 코어 태그 라이브러리의 활용 방법을 배운다

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
16 장 한빛미디어 ( 주 ) 스트러츠 프레임워크 설치 및 기본 설정 방법을 이해한다 스트러츠 프레임워크의 구조를 이해한다 struts-config.xml 기본 설정을 이해한다 스트러츠 프레임워크 설치 및 기본 설정 방법을 이해한다 스트러츠 프레임워크의 구조를 이해한다.
JSP 정리 레퍼런스: JSP 2.1 웹 프로그래밍 (최범균, 가메출판사). 목차 1. Directive - 인코딩 - 오류처리 2. Implicit Object - 쿠키/세션 3. Action Tag 4. JDBC/DBCP 프로그래밍, 파일업로드 5. Expression.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Java Web Programming 5일차.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
11 JSTL 사용하기.
제 12 장 표현 언어 학기 인터넷비즈니스과 강 환수 교수.
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++ 프로그래밍 기초 : 객체지향의 시작 C++로 프로그래밍한다는 것의 의미
Lab 10 Guide: 프린터 출력 예제. 한 페이지의 그림 인쇄 (교재 24장, 쪽)
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
14장 질의응답 한빛미디어(주).
Windows Server 장. 사고를 대비한 데이터 백업.
5장 Mysql 데이터베이스 한빛미디어(주).
Ubiquitous Computing Practice - Part I (Installation) -
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
컴퓨터응용과학부 Java Enterprize(DB) 제 13 주
24강. JSTL(JSP standard Tag Library)
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
12 ███████████ 12.
Visual Basic .NET 처음 사용하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
Bat 파일을 이용한 로그 파일 관리.
제 13 장 JSTL 학기 인터넷비즈니스과 강 환수 교수.
JSTL.
5장 Mysql 데이터베이스 한빛미디어(주).
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
C#.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Method & library.
JA A V W. 03.
자바 5.0 프로그래밍.
JDBC Lecture 004 By MINIO.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
제 14 장 커스텀 태그 학기 인터넷비즈니스과 강 환수 교수.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
Smart Workplace 개발자 가이드
표현언어와 커스텀태그 표현 언어의 개념을 이해한다. JSP1.2 커스텀 태그 개발 방법을 익힌다.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
8장 쿠키와 세션 한빛미디어(주).
웹디자인
JSTL Core 2015 Web Service Computing.
17장. 제어문과 내장 함수 제어문 내장 함수 제어문 내장 함수.
4장 JSP 페이지의 디렉티브(Directive)
STS 에서 웹 서버 설치 방법.
제 06 장 JSP 액션 태그 학기 인터넷비즈니스과 강 환수 교수.
에어 PHP 입문.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
JSP Programming with a Workbook
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
 6장. SQL 쿼리.
Docker Study 6~7.
6 객체.
20 XMLHttpRequest.
Presentation transcript:

JSTL JSTL의 개념을 이해한다 JSTL의 분류 및 활용 범위를 익힌다 코어 태그 라이브러리의 활용 방법을 배운다 한빛미디어(주)

JSTL 이란 Section 01 JSTL설치 JSTL은 1.2 스펙 까지 나와 있으면 Java EE5에 포함되어 있다 라이브러리 설치 부록CD\개발관련프로그램\라이브러리모음 폴더에서 jakarta-taglibs-standard1.1.2.zip 파일의 압축을 해제 jstl.jar, standard.jar 파일을 이클립스 jspbook 프로젝트내 WEB-INF\lib 폴더에복사 tld 파일 복사 태그라이브러리 정의 파일인 tld 파일을 WEB-INF\tld 폴더로 복사 교재에서는 코어 라이브러리만 사용하므로 c.tld 파일만 복사해도 됨 리스너 클래스 등록(JSTL 실습을 위해 필요) 부록CD\소스코드\jspbook\src\jspbook\ch11\ 폴더에서 .java 파일을 jspbook 프로젝트의 src 폴더로 복사 web.xml 파일에 다음 항목 추가 <listener> <listener-class>jspbook.ch11.InitialMember</listener-class> </listener>

JSTL 이란 Section 01 JSTL설치 설치파일 및 리스너 설정 확인

JSTL 이란 Section 01 JSTL개요 일반사항 JSTL 구성요소 JCP(Java Community Process, 자바표준화 단체) 에서 정한 표준 JSP 2.0 에 포함. 일반적으로 필요한 기능의 태그라이브러리를 미리 구현함. JSTL 구성요소 CORE : 공통 필수 기능 XML : XML문서 처리 관련 기능 I18N : 국제화 지원 관련 기능 SQL : JDBC를 이용한 DB처리 기능

JSTL 이란 Section 01 JSTL 라이브러리별 tablib URL과 Prefix sql 페이지 지시어에서 사용법 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> sql http://java.sun.com/jsp/jstl/sql SQL fmt http://java.sun.com/jsp/jstl/fmt I18N(국제화) x http://java.sun.com/jsp/jstl/xml XML c http://java.sun.com/jsp/jstl/core CORE prefix URI Library

코어 라이브러리 Section 02 JSTL 코어 라이브러리 개요 수식, 흐름제어, URL을 통한 자원 접근등 가장 일반적으로 필요한 기능으로 구성 CORE 태그는 반드시 알아두어야 함 CORE 이외의 다른 라이브러리는 JSTL 이외에도 많이 개발 되어 있으며 경우에 따라서는 직접 커스텀 태그로 구현하는 것이 좋을수도 있음 import param redirect param url URL Management choose  when  otherwise forEach forTokens if Flow Control c catch out remove set Expression Language Support 접두어 태그 기능

코어 라이브러리 Section 02 JSTL 수식 언어 EL(Expression Language)지원. 간단한 연산식 사용이 가능 산술 연산자 곱하기 * 몫 % or mod 빼기 - 나누기 / or div 더하기 + 기능 연산자

코어 라이브러리 Section 02 General Purpose Actions <c:out> 태그 간단한 출력에 사용 하나 JSP2.0 표현언어가 더 편리함 문법 1. 태그 바디 없이 사용하는 경우 <c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] /> 2. 태그 바디가 있는 경우 <c:out value="value" [escapeXml="{true|false}"]> default value (value에 내용이 없을 때 출력될 기본 값) </c:out> 속성 필수 기본 값 설명 value Y 없음 출력될 내용 or 표현식 default N 태그 바디에 있는 내용 value 값에 내용이 없는 경우 출력할 내용으로, 태그 바디 혹은 속성 값 형태로 올 수 있다. excapeXml true 출력될 내용에 <, >, &, ', " 등의 문자를 일반 문자로 변환할 것인지 결정한다. 예를 들어 출력될 내용에 HTML 태그가 포함되어 있다면 이 값을 false로 해야 태그가 반영된 내용이 화면에 보인다. 만일 true로 된 경우에는 태그가 그대로 화면에 보이게 된다.

코어 라이브러리 Section 02 General Purpose Actions <c:set> 태그 EL 변수에 값을 설정 및 객체의 멤버변수값 설정 문법 1. 해당 범위에 속성 값을 추가하는 경우(바디가 올 수도 있다) <c:set value="value" var="varName" [scope="{page|request|session|application}"]/> 2. 특정 target 객체에 새로운 속성 값을 설정하는 경우(바디가 올 수도 있다) <c:set value="value" target="target" property="propertyName"/> 속성 필수 기본 값 설명 value N 없음 저장할 변수 값 target 값이 저장될 객체명 property target 객체의 멤버 변수명 var 값이 저장될 변수명 scope page 값이 저장될 범위(page, session, request, application)

코어 라이브러리 Section 02 General Purpose Actions <c:remove> 태그 해당 scope 의 변수(객체) 삭제 문법 <c:catch> 태그 바디에서 실행되는 코드의 예외를 잡아냄 <c:remove var="varName" [scope="{page|request|session|application}"]/> 속성 필수 기본 값 설명 var Y 없음 삭제할 변수명 scope N 모든 범위 삭제할 범위 <c:catch [var="varName"]> nested actions </c:catch> 속성 필수 기본 값 설명 var Y 없음 에러 메시지를 저장할 변수명

코어 라이브러리 Section 02 Conditional Actions <c:if> 태그 조건이 맞는 경우 태그 바디부분 처리. if 와 유사하지만 else 는 지원하지 않음. 문법 1. 바디 내용이 없는 경우 <c:if test="testCondition" var="varName" scope="{page|request|session|application}"]/> 2. 바디 내용이 있는 경우 <c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]> body content </c:if> 속성 필수 기본 값 설명 test Y 없음 검사할 조건 var N test 조건의 결과를 저장할 변수(결과는 true 혹은 false) scope page 변수가 저장될 범위

코어 라이브러리 Section 02 Conditional Actions <c:choose>, <c:when>, <c:otherwise> 태그 switch 문과 유사한 기능. 하나의 choose 태그에는 여러 개의 when 태그가 존재. 문법 <c:choose> body content (<when> and <otherwise> subtags) <c:when test="testCondition"> body content </c:when> <c:otherwise> conditional block </c:otherwise> </c:choose> 속성 필수 기본 값 설명 test Y 없음 검사할 조건

코어 라이브러리 Section 02 Iterator Actions <c:forEach>태그 자바의 for 문과 유사하며 가장 유용한 JSTL 태그중 하나임 문법 1. 컬렉션 객체의 크기만큼 반복 <c:forEach[var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]> body content </c:forEach> 2. 지정된 회수 반복 <c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]> 속성 필수 기본 값 설명 items N 없음 반복을 위한 데이터를 가진 아이템의 컬렉션 begin 반복 시작 번호 end 컬렉션의 마지막 값 반복 끝 번호 step 1 반복의 증가분 var 현재 아이템을 가지고 있는 변수 varStatus 반복 상태 값을 가지고 있는 변수

코어 라이브러리 Section 02 Iterator Actions <c:forTokens>태그 자바의 StringTokenizer 클래스 기능을 제공함 문법 <c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"] [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]> body content </c:forTokens> 속성 필수 기본 값 설명 items N 없음 반복을 위한 데이터를 가진 아이템의 컬렉션 delims Y 구분자(Delimeter)로 사용할 문자 begin 반복 시작 번호 end 컬렉션의 마지막 값 반복 끝 번호 step 1 반복의 증가분 var 현재 아이템을 가지고 있는 변수 varStatus 반복 상태 값을 가지고 있는 변수

코어 라이브러리 Section 02 URL Related Actions <c:import>태그 특정 URL 페이지를 현재 페이지에 포함, <jsp:include> 액션과 유사함 문법 1. 포함 하고자 하는 자원을 문자열 형태로 포함 하는 경우 <c:import url="url" [context="context"] [var="varName"] [scope="{page|request|session|application}"] [charEncoding="charEncoding"]> optional body content for <c:param> subtags </c:import> 2. 포함 하고자 하는 자원을 Reader 객체로 포함하는 경우 <c:import url="url" [context="context"] varReader="varReaderName" [charEncoding="charEncoding"]> body content where varReader is consumed by another action 속성 필수 기본 값 설명 url Y 없음 현재 페이지 내에 포함시킬 URL context N Current application 현재 웹 애플리케이션 컨텍스트 이름 charEncoding ISO-8859-1 현재 페이지 내에 포함시킬 페이지 캐릭터셋 지정 var Print to page 포함할 페이지의 내용을 가지는 변수명 scope page var의 범위 varReader 자원 내용을 읽기 위한 java.io.Reader 변수

코어 라이브러리 Section 02 URL Related Actions <c:url>태그 URL Rewriting 방식으로 URL 정보를 다룬다 문법 1. 바디가 없는 경우 <c:url value="value" [context="context"] [var="varName"] [scope="{page|request|session|application}"]/> 2. 바디가 있는 경우 <c:url value="value" [context="context"] [var="varName"] [scope="{page|request|session|application}"]> <c:param> subtags </c:url> 속성 필수 기본 값 설명 value Y 없음 기본 URL context N Current application 현재 웹 애플리케이션의 컨텍스트 이름 var Print to page 포함할 페이지의 내용을 가지는 변수명 scope page var의 범위

코어 라이브러리 Section 02 URL Related Actions <c:redirect>태그 response.sendRedirect() 나 <jsp:forward> 액션 대신 사용할 수 있다 문법 1. 바디가 없는 경우 <c:redirect url="value" [context="context"]/> 2. 바디가 있는 경우 <c:param> subtags </c:redirect> 속성 필수 기본 값 설명 value Y 없음 기본 URL context N Current application 현재 웹 애플리케이션의 컨텍스트 이름

코어 라이브러리 Section 02 URL Related Actions <c:param>태그 import, url, redirect ㅌ그에서 파라미터 값을 설정 할 때 사용 문법 1. 바디가 없는 경우 <c:param name="name" value="value"/> 2. 바디 내용을 속성 값으로 사용하는 경우 <c:param name="name"> parameter value </c:param> 속성 필수 기본 값 설명 url Y 없음 현재 페이지 내에 포함시킬 URL context N Current application 현재 웹 애플리케이션 컨텍스트 이름

JSTL 예제 교재 : 430 ~ 451 페이지 예제 개요 JSTL 코어라이브러리 태그 예제 실습 각각의 태그 사용법과 속성에 따른 동작 확인

JSTL 버전 표현언어 교재 : 452 ~ 454 페이지 예제 개요 [예제 10-2] ProductList.jsp 의 일부분 수정 후 결과 확인