2013. 7. 29. 14:03


■  형식

<%@  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
Posted by 1+1은?