JSP Expression Language

Slides:



Advertisements
Similar presentations
JSP 정리 레퍼런스: JSP 2.1 웹 프로그래밍 (최범균, 가메출판사). 목차 1. Directive - 인코딩 - 오류처리 2. Implicit Object - 쿠키/세션 3. Action Tag 4. JDBC/DBCP 프로그래밍, 파일업로드 5. Expression.
Advertisements

- SW_Desing Study Group -
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
11 JSTL 사용하기.
제 12 장 표현 언어 학기 인터넷비즈니스과 강 환수 교수.
Introduction to Servlets
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
Internet Computing KUT Youn-Hee Han
12장. JSP에서 자바빈 활용 제12장.
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 빈을 이용한 회원가입 양식 작성하기 빈 작성
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
12 커스텀 액션.
JSP BBS (Bulletin Board System)
Spring 4 기반의 RESTful Web Service 구현
3장. 웹 어플리케이션과 JSP 및 Servlet의 이해 제3장.
1. JSP(Java Server Pages) 소개
9 표준 액션.
9장. 요청 흐름제어와 모듈화 #1: <jsp:forward> 액션태그 사용
Internet Computing KUT Youn-Hee Han
5 익셉션 처리.
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 Bean을 이용한 회원가입 양식 작성하기
16강. 자바 빈 빈 이란? 빈 만들기 빈 관련 액션 태그(useBean, getProperty, setProperty)
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
1. JSP(Java Server Pages) 소개
3 JSP의 기초.
7 JSP의 기초.
4 쿠키와 세션.
1강 01장. 웹과 자바.
6장. JSP 지시문 (Directives) 제6장.
중 간 고 사 (웹프로그래밍)
23강. EL(Expression Language)
강의 보조자료 & Homework #2 - 로그인과 이미지 카운터 만들기 -
12 ███████████ 12.
웹서버와 설치에 필요한 것 WWW ( world wide web ) TCP/IP 프로토콜을 이용하는 클라이언트/서버 환경
5. JSP의 내장객체1.
JSP와 자바 빈즈 JSP 빈즈 구조를 이해하고 활용한다. useBean 액션 활용법을 익힌다.
9강. JSP 본격적으로 살펴보기-I JSP 태그의 개념 이해 JSP 동작 원리 JSP 내부 객체
12 데이터베이스 사용하기.
웹 애플리케이션 로깅 및 오류 처리 기법 웹 애플리케이션 로깅의 필요성을 이해한다 로깅의 분류 및 구현 방안을 학습한다
제 13 장 JSTL 학기 인터넷비즈니스과 강 환수 교수.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
Cookie 와 Session.
Html(front end) & jsp(back end)
5장. JSP 페이지의 스크립트 요소 이 장에서 배울 내용 : JSP페이지를 구성하는 구성요소중 하나인 스크립트요소를 학습하는 장으로 JSP페이지의 스크립트의 3가지 요소인 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression)에 대해.
10장. 자바빈(JavaBean) 이 장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다. 하나의 JSP페이지 안에 디자인부와 로직부가 혼재하게 되면 프로그램의 협업과 유지보수가 어렵다. 자바빈은 로직을.
이장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Spring 프레임워크의 이해 3. Spring IoC 이해 및 활용.
제 14 장 커스텀 태그 학기 인터넷비즈니스과 강 환수 교수.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
JSP문법 JSP 기본 구조를 이해한다. 지시어, 스크립트릿 JSP 액션 태그 사용법을 익힌다. 한빛미디어(주)
표현언어와 커스텀태그 표현 언어의 개념을 이해한다. JSP1.2 커스텀 태그 개발 방법을 익힌다.
9 익스프레션 언어.
[INA470] Java Programming Youn-Hee Han
Spring DI 이해 및 활용.
3장. 웹로직 서버에서의 서블릿과 JSP의 운용 3-1. 서블릿, JSP를 실행하기 전의 환경 설정
자바 5.0 프로그래밍.
Internet Computing KUT Youn-Hee Han
자바 5.0 프로그래밍.
Internet Computing KUT Youn-Hee Han
4장 JSP 페이지의 디렉티브(Directive)
JSP 빈즈 1.JSP 빈즈? JSP와 연동을 위해 만들어진 컴포넌트 클래스를 말한다. JSP 빈즈는 컨테이너에 위치하며, 데이터 처리와 공용화된 기능을 제공하기 때문에 빈즈를 잘 활용하면 프로그램의 중복을 줄이고 좀더 원할한 유지보수가 가능한다. 물론 , 모든 JSP를.
JSP Programming with a Workbook
Introduction to JSP & Servlet
제 11 장 자바빈즈를 이용한 JDBC 프로그래밍 학기 인터넷비즈니스과 강 환수 교수.
JSP Programming with a Workbook
Homework #3 - 페이지 모듈화 및 로그인처리 -
Internet Computing KUT Youn-Hee Han
Presentation transcript:

JSP Expression Language Internet Computing Laboratory @ KUT Youn-Hee Han

Why JSP EL? Goal of Java EL Let’s think of it!!! EL은 서버측 상태 (Server-side States)를 프리젠테이션 출력에 통합하는 것을 쉽게 해준다. JSP 의 기본 문법을 보완하는 기능 Let’s think of it!!! request 객체에서 사용 통계(usage statistics)에 관한 정보를 가져와 출력하는 JSP 코딩하기 방법 1] Scriptlet를 이용해서 출력 생성하기 구식의 JSP 1.0 방식 가급적 이런 코딩은 피하는 것이 좋음 There are currently <% String ss = request.getParameter("stats"); out.print(ss); %> users logged on. 출력결과 There are currently 15 users logged on. Web Programming

Why JEXL? 방법 2] JSP expression으로 출력 생성하기 방법 3] 커스텀 태그를 이용해서 출력 생성하기 역시 구식 방법 그러나, 가장 흔하게 사용하는 방법이며 초보자를 고려하여 많은 사람들을 배려하는 차원에서 이렇게 코딩하는 것도 좋음 방법 3] 커스텀 태그를 이용해서 출력 생성하기 새로운 기술을 활용한 좋은 방법, 그러나… 이와 같이 간결한 프리젠테이션을 얻고자 한다면, 개발자는 자바 클래스와 XML 포맷으로 된 TLD 파일을 모두 작성해야만 한다. 방법 4] JSP EL 사용하여 출력 생성하기 There are currently <%= request.getParameter("stats") %> users logged on. There are currently <myTags:userCount/> users logged in. There are currently ${param.stats} users logged in. Web Programming

JSP EL 용법 JSP EL 용법 항상 ${과 }사이에 작성된다. 다음 두 장소에서만 쓰여진다. In static text In any standard or custom tag attribute <ul> <c:forEach var="k" items="${colors}"> <li><font color="${k}">This line is ${k}</font>. </c:forEach> </ul> <font color=”${cr}”> Hi, ${user}. You are <user:age style=”${style}”/> years old. </font> <${tag} var="x"/>  잘못된 사용 예 Web Programming

JSP EL 용법 JSP EL 용법 ${ } 내부에 사용할 수 있는 객체 11개의 기본 객체 [교재 382 페이지 참조] pageContext: The context for the JSP page. Provides access to various objects including: servletContext: The context for the JSP page's servlet session: The session object for the client. request: The request triggering the execution of the JSP page. response: The response returned by the JSP page. param, paramValues header, headerValues cookie initParam pageScope, requestScope, sessionScope, applicationScope Web Programming

예제 1 교재 382 확장 예제 /2006777888/useELObject.jsp <%@ page contentType = "text/html; charset=euc-kr" %> <% request.setAttribute("name", "홍길동"); session.setAttribute("school", "KUT"); application.setAttribute("year", "sophomore"); application.setAttribute("name", "춘향"); Cookie cookie = new Cookie ("ID","yhhan"); response.addCookie(cookie); %> <html><body> 요청 URI: ${pageContext.request.requestURI} <br> test1: ${pageContext.request.queryString} <br> test2: ${pageContext.request.requestedSessionId} <br> test3: ${pageContext.request.session} <br> request의 name 속성: ${requestScope.name} <br> session의 school 속성: ${sessionScope.school} and ${school}<br> application의 year 속성: ${applicationScope.year} and ${year}<br> application의 name 속성: ${applicationScope.name} and ${name}<br> code 파라미터: ${param.code} <br> cookie: ${cookie.ID.value} </body> </html> Web Programming

EL Evaluating Example Web Programming

Javabeans & EL StudentInfo 자바빈  확인 /2006777888/WEB-INF/src/kut/ime/StudentInfo.java package kut.ime; public class StudentInfo { private String id; private String name; private String address; private String email; public String getId() { return id; } public String getName() { return name; public String getAddress() { return address; public String getEmail() { return email; public void setId(String val) { this.id = val; } public void setName(String val) { this.name = val; public void setAddress(String val) { this.address = val; public void setEmail(String val) { this.email = val; 컴파일: sjc.bat  확인 Web Programming

Javabeans & EL 자바빈 사용하기 /2006777888/useELObject2.jsp <%@ page contentType = "text/html; charset=euc-kr" %> <%@page isELIgnored="false" %> <jsp:useBean id="john" scope="request" class="kut.ime.StudentInfo" /> <jsp:setProperty name="john" property="id" value="1111" /> <jsp:setProperty name="john" property="name" value="요한" /> <jsp:setProperty name="john" property="address" value="서울 중구" /> <jsp:setProperty name="john" property="email" value="john@ime.kut" /> <% kut.ime.StudentInfo tom = new kut.ime.StudentInfo(); tom.setId("1112"); tom.setName("탐"); tom.setAddress("대전 서구"); tom.setEmail("tom@ime.kut"); %> <html> <body> <%= john.getName() %> (<%= john.getId() %>) 회원님 안녕하세요. <BR> <%= tom.getName() %> (<%= tom.getId() %>) 회원님 안녕하세요. <BR> </body> </html> Web Programming

Javabeans & EL 자바빈과 EL /2006777888/useELObject2.jsp <%@ page contentType = "text/html; charset=euc-kr" %> <%@page isELIgnored="false" %> <jsp:useBean id="john" scope="request" class="kut.ime.StudentInfo" /> <jsp:setProperty name="john" property="id" value="1111" /> <jsp:setProperty name="john" property="name" value="요한" /> <jsp:setProperty name="john" property="address" value="서울 중구" /> <jsp:setProperty name="john" property="email" value="john@ime.kut" /> <% kut.ime.StudentInfo tom = new kut.ime.StudentInfo(); tom.setId("1112"); tom.setName("탐"); tom.setAddress("대전 서구"); tom.setEmail("tom@ime.kut"); %> <html> <body> <%= john.getName() %> (<%= john.getId() %>) 회원님 안녕하세요. <BR> ${john.name} (${john.id}) 회원님 안녕하세요.<BR> <%= tom.getName() %> (<%= tom.getId() %>) 회원님 안녕하세요. <BR> ${tom.name} (${tom.id}) 회원님 안녕하세요. </body> </html> Web Programming