■ 형식 <%@ include file="상대_URL"%> include 디렉티브의 처리 과정은 정적으로 include 지시자를 사용한 JSP 페이지가 컴파일 되는 과 정에서 include 되는 JSP 페이지의 소스 내용을 그대로 포함해서 컴파일 한다. 즉, 복사 & 붙여넣기 방식으로 두개의 파일이 하나의 파일로 구성된 후 같이 변환되고 컴파일 된다. |
⋅language : 스크립트 코드에서 사용되는 프로그래밍 언어 지정. 기본 값 : "java" ⋅session : 세션 사용 여부 지정("true" : 사용, "false" : 미사용). 기본 값 : "true" ⋅buffer : 출력 버퍼 크기 지정("none" : 미사용, "12kb" : 출력 버퍼 12kb 사용). 기본 값 : "8kb" ⋅autoFlush : 출력 버퍼가 다 찼을 경우 자동으로 버퍼에 있는 데이터를 출력 스트림에 보내고 비울지의 여부 ("true" : 버퍼의 내용을 웹 브라우저에 보 낸 후 버퍼 비움, "false" : 에러 발생시킴). 기본 값 : "true" ⋅info : 페이지에 대한 설명 ⋅errorPage : 실행 도중 에러 발생 시 보여줄 페이지 지정 ⋅isErrorPage : 현재 패이지가 에러가 발생할 때 보여 지는 페이지 인지의 여부 ("true" : 에러 페이지, "false" : 에러 페이지 아님). 기본 값 : "false" ⋅pageEncoding : 페이지 자체의 캐릭터 인코딩 지정. 기본 값 : "ISO-8859-1" ⋅isELIgnored : JSP 2.0에 새롭게 추가된 내용("true" : EL을 사용하지 않음, "false" : EL을 사용). 기본 값 : web.xml 파일이 사용하는 JSP 버전 및 설정에 따라 다름 ⋅extends : JSP 페이지가 Servlet 소스로 변환되는 시점에서 자신이 상속 받을 클래스를 지정할때 사용. 거의 사용되지 않는 속성 ⋅isThreadSafe : 하나의 JSP 페이지가 동시에 여러 브라우저의 요청을 처리할 수 있는지 여부를 설정. 기본 값 : "true" ⋅trimDirectiveWhitespaces : JSP 2.1 버전에서는 page 디렉티브에 새롭게 추가된 속성으로 불필요하게 생성되는 줄 바꿈 공백 문자를 제거 할 수 있다. 기본 값 : "false" |
<%@page import="java.util.Calendar"%> <%@ page contentType="text/html; charset=UTF-8"%> //중요 <%@ page trimDirectiveWhitespaces="true" %> //소스로 변환할 때 불필요한 공백을 제거한다.
스크립트 구성요소
1. Declaration, 선언부
: 스크립트 릿 이나 표현식에서 사용할 수 있는 메소드나 변수를 정의한다. 선언 부에 선언된 변수는
서블릿으로 바뀔 때 멤버 변수로 변경되며 전역 변수의 성격을 가진다. 또한 _jspInit(), _jspDestory()
와 같은 생명주기 운영을 위한 메소드를 재정의 할 수 있다.
*선언부의 변수와 스크립릿의 변수는 생존주기가 다르다
(스크립릿 변수는 service()메서드의 변수로 페이지가 로딩될 때마다 초기화된다.)
■ 형식 <%! 자바_메소드정의 %> 또는 <%! 자료형 변수명 [= 초기)값]; %> ■ 사용 예 <%! int a = 0;%> <%! int a, b; double c;%> <%! public int add(int a, int b) { return a+b; } %> ■ 사용 예 - 선언 부 예제 <%@ page contentType="text/html; charset=utf-8" %> <%! public int mutiply(int a, int b) { int c = a * b; return c; } %>선언 부 예제 10 * 25 = <%= mutiply(10, 25) %>
2. Scriptlet, 스크립릿
: JSP 문서 내에 자바코드를 기술하는 부분으로 순수 자바 코드만 올수 있다. 그리고 스크립트 릿에
선언 된 변수는 로컬 변수의 성격을 가지며 자바에서의 메소드 내에서 선언된 변수와 비슷하다.
<% 자바코드1; 자바코드2; 자바코드3; ... %> <% //: 스크립릿은 java 파일로 변경되면서 service() 메소드 안에 추가된다. int sum=0, i=1; while(i<=100) { sum += i; i++; } out.print(sum); out.print(""); %>
3. Expression, 표현식
: HTML 문서 결과 값에 포함시키고자 할 때 사용 한다.
■ 형식 <%= 출력할_값 %> //out.print(출력할_값)
예제)
<% request.setCharacterEncoding("utf-8"); //클라이언트에서 전송되는 문자셋 지정. 설정하지 않으면 한글 깨짐 //데이터를 전송받기 전에 반드시 해야한다. String name = request.getParameter("name"); String gender = request.getParameter("gender"); //String hobby = request.getParameter("hobby"); //동일한 이름을 가진 파라미터를 getParameter() 메소드로 전달받으면 오직 하나만 받을 수 있다. String hobby = ""; String[] h = request.getParameterValues("hobby"); if(h!=null) { for(String s:h){ hobby+=s+", "; } hobby = hobby.substring(0, hobby.lastIndexOf(", ")); //마지막 쉼표 제거 } String hak = request.getParameter("hak"); String bigo = request.getParameter("bigo"); bigo = bigo.replaceAll("\n", "
"); //엔터 -> 태그 bigo = bigo.replaceAll(" ", " "); //공백 -> 태그 %> ... <% … out.print(bigo); %>
'JSP > JspServlet' 카테고리의 다른 글
Servlet (0) | 2013.07.29 |
---|---|
Servlet list 작성 (0) | 2013.07.29 |
연산자 검색 (0) | 2013.07.29 |
달력 (0) | 2013.07.29 |
MVC2 구현예제 (0) | 2013.07.29 |