JSTL Core 2015 Web Service Computing.

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

JSP 정리 레퍼런스: JSP 2.1 웹 프로그래밍 (최범균, 가메출판사). 목차 1. Directive - 인코딩 - 오류처리 2. Implicit Object - 쿠키/세션 3. Action Tag 4. JDBC/DBCP 프로그래밍, 파일업로드 5. Expression.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
11 JSTL 사용하기.
제 12 장 표현 언어 학기 인터넷비즈니스과 강 환수 교수.
Spring MVC ㅇ 스프링 MVC 구성요소 설명 DispatcherServlet 클라이언트의 요청을 컨트롤러에게 전달하고
DB 프로그래밍 학기.
DB 프로그래밍 학기.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
C 프로그래밍 I.
Internet Computing KUT Youn-Hee Han
Chapter 14 : JSP 고급4. chapter 14 : JSP 고급4 학습목표 커스텀 태그 종류 JSTL ( JSP Standard Tag Library ) 사용자 커스텀 태그 커스텀 태그 작성 클래스 기반 커스텀 태그 작성 태그 파일 기반 커스텀 태그 작성.
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
12 커스텀 액션.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
4장. JSP의 구성요소와 스크립팅요소 제4장.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
MySQL 및 Workbench 설치 데이터 베이스.
Lesson 3. 입출력과 제어문.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
Lesson 6. 형변환.
24강. JSTL(JSP standard Tag Library)
제 3장. C보다 나은 C++ II.
25강. Security-I 보안 관련 프로젝트 생성 보안 관련 라이브러리 추가 보안 관련 설정 파일 만들기
12 ███████████ 12.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
Powerpoint 프리젠테이션을 로 보내기 [twitter]1. 파워포인트 프리젠테이션을 트위터로 보내기[/twitter]
JSTL JSTL의 개념을 이해한다 JSTL의 분류 및 활용 범위를 익힌다 코어 태그 라이브러리의 활용 방법을 배운다
제 13 장 JSTL 학기 인터넷비즈니스과 강 환수 교수.
JSTL.
KIM HEESANG PL/SQL 2 KIM HEESANG
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
C#.
5장. JSP 페이지의 스크립트 요소 이 장에서 배울 내용 : JSP페이지를 구성하는 구성요소중 하나인 스크립트요소를 학습하는 장으로 JSP페이지의 스크립트의 3가지 요소인 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression)에 대해.
Web Socket.
13. 연산자 오버로딩.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
MATLAB
Method & library.
JA A V W. 03.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
제 14 장 커스텀 태그 학기 인터넷비즈니스과 강 환수 교수.
Smart Workplace 개발자 가이드
JSP문법 JSP 기본 구조를 이해한다. 지시어, 스크립트릿 JSP 액션 태그 사용법을 익힌다. 한빛미디어(주)
표현언어와 커스텀태그 표현 언어의 개념을 이해한다. JSP1.2 커스텀 태그 개발 방법을 익힌다.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
기말 프로젝트 계획 MVC 패턴 기반 웹 애플리케이션 개발 프로젝트명 : 팀명 : 팀원 :
17장. 제어문과 내장 함수 제어문 내장 함수 제어문 내장 함수.
4장 JSP 페이지의 디렉티브(Directive)
JSP Expression Language
OpenCV 설정 2.21 만든이 딩딩.
제 15 강 문자와 코드 shcho.pe.kr.
05. General Linear List – Homework
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
Numerical Analysis Programming using NRs
제 4 장 Record.
트위치 트게더 Twitogether 김준희.
 6장. SQL 쿼리.
6 객체.
Presentation transcript:

JSTL Core 2015 Web Service Computing

EL Expression Language 식(Expression)을 중심으로 코드를 기술하는 언어 연산자와 피연산자의 조합을 ${내용}로 표현 jsp el <%=cnt + 1%> <%=user.getName()%> ${cnt + 1} ${user.name}

JSTL JSP Standard Tag Library JSP에서 자주 사용하는 기능(반복과 조건, 데이타 관리 포맷, XML 조작, 데이타베이스 액세스)을 구현하는 커스텀 태그 라이브러리 모음 시간, 날짜, 숫자의 포맷이나 문자열 가공등의 처리에서 비즈니스로직과 프리젠테이션 로직을 분리할 수 있게 해준다. JSTL은 EL(Expression Language)를 사용하여 표현한다.

JSTL JSTL Library 라이브러리 기능 URL 식별자 접두어 Core 일반 프로그램 언어에서 제공하는 변수선언, 조건/제어/반복문등의 기능을 제공 http://java.sun.com/jsp/jstl/core c Format 숫자,날짜,시간을 포맷팅 하는 기능과 국제화, 다국어 지원 기능을 제공 http://java.sun.com/jsp/jstl/fmt fmt Function 문자열을 처리하는 함수를 제공 http://java.sun.com/jsp/jstl/functions fn Sql 데이터베이스의 데이터를 입력/수정/삭제/조회하는 기능을 제공 http://java.sun.com/jsp/jstl/sql sql Xml XML 문서를 처리할 때 필요한 기능을 제공 http://java.sun.com/jsp/jstl/xml xml

설정 pom.xml jsp 파일 상단 <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> jsp 파일 상단 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<c:set> <c:set>은 변수를 선언한다. jsp jstl + el <% int a = 3; String b = "Hello"; %> <%=a%>, <%=b%> <c:set var="a" value="3"/> <c:set var="b" value="Hello"/> ${a}, ${b} <c:set var="a" value="${a+3} "/> <c:set var="b" value="${b}, World"/>

<c:if> <c:if>는 조건문으로 java의 if문과 같지만 else가 없다. ${} 안에는 조건 연산이 들어간다. jsp jstl <% int a = 3; if(a > 1) { %> a가 1보다 큽니다. <%} else { a가 1보다 작습니다. } <c:set var="a" value="3"/> <c:if test="${a > 1}"> a가 1보다 큽니다. </c:if> <c:if test="${a < 1}"> a가 1보다 작습니다.

Expression Language – 추가 연산자 기존 연산자 설명 and && 생략 or || not ! div / mod % eq == lt < gt > le <= ge >= empty 데이터의 존재 여부를 확인하는 단항연산자

empty 연산자 HomeController.java @RequestMapping("/jstlTest") public String emptyTest(Model model) { String a = null; String b = ""; String c = "hello"; List<String> d = new ArrayList<String>(); List<String> e = new ArrayList<String>(); e.add(a); e.add(b); model.addAttribute("a", a); model.addAttribute("b", b); model.addAttribute("c", c); model.addAttribute("d", d); model.addAttribute("e", e); return "jstlTest"; }

empty 연산자 jstlTest.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title></title> </head> <body> <c:if test="${empty a}">a</c:if> <c:if test="${empty b}">b</c:if> <c:if test="${empty c}">c</c:if> <c:if test="${empty d}">d</c:if> <c:if test="${empty e}">e</c:if> </body> </html>

<c:choose> <c:choose>또한 조건문으로 else가 존재한다. <c:choose>, <c:when>, <c:otherwise> <c:when>을 통해 여러 조건을 추가할 수 있다. jsp jstl <% int a = 3; if(a > 1) { %> a가 1보다 큽니다. <%} else { a가 1보다 작습니다. } <c:set var="a" value="3"/> <c:choose> <c:when test="${a > 1}"> a가 1보다 큽니다. </c:when> <c:otherwise> a가 1보다 작습니다. </c:otherwise> </c:choose>

<c:forEach> <c:forEach>는 반복문으로 for와 같다. step은 증감문으로 기본적으로 1이며, 생략 가능하다. end값의 설정에 유의 jsp <% for(int i=0; i<10; i++) { %> i값: <%=i%> } jstl <c:forEach var="i" begin="0" end = "9" step="1"> i값: ${i}<br/> </c:forEach>

<c:forEach> <c:forEach>는 array, list, set 등의 자료구조를 순회할 수도 있다. jsp <% String[] stringArray = (String[])request.getAttribute("stringArray"); for(String s: stringArray) { %> <%=s%><br/> } jstl <c:forEach var="s" items="${stringArray}"> ${s}<br/> </c:forEach>

<c:forEach> 한편, <c:forEach>로 map의 키,값을 가져오는 방법은 다음과 같다. jsp <% Map<String, String> stringMap = (Map<String, String>)request.getAttribute("stringMap"); for(Map.Entry entry: stringMap.entrySet()) { %> <%=entry.getKey()%>, <%=entry.getValue()%><br/> } jstl <c:forEach var="entry" items="${stringMap}"> ${entry.key}, ${entry.value}<br/> </c:forEach>

<c:redirect> <c:redirect>는 페이지 이동을 위한 태그이다. jstl <c:set var="address" value="g"/> <c:choose> <c:when test="${address == 'g'}"> <c:redirect url="http://www.google.co.kr"/> </c:when> <c:when test="${address == 'n'}"> <c:redirect url="http://www.naver.com"/> <c:otherwise> <c:redirect url="http://www.daum.net"/> </c:otherwise> </c:choose>

참고 사이트 http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm http://wiki.gurubee.net/pages/viewpage.action?pageId=26740270&