ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP 태그] 스크립트, 디렉티브 태그
    공부/JSP 2022. 9. 18. 20:07

     

    1. 스크립트 태그의 종류

    스크립트 태그 형식 설명
    선언문 <%!  %> 자바 변수나 메소드를 정의
    서블렛으로 변환 시, _jspService() 외부에 배치된다.
    스크립틀릿 <%  %> 일반적인 자바 코드 작성
    서블릿으로 변환시,  _jspService() 내부에 배치된다.
    스크립틀릿에 선언된 변수는 해당 태그 안에서만 사용가능하다.
    표현문 <%=  %> 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력
    값이 _jspService()의 out.print()의 매개변수로 사용되기 때문에 세미클론을 사용하면 안된다.

     

    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="EUC-KR">
    <title>Insert title here</title>
    </head>
    <body>
    	<%! String greeting = "welcome to web shopping mall";
    	String tagline = "welcome to web market!";
    	%>
    	<%! String str = "Hello, Java Server Pages";
    	public String getString(){
    		return str;
    	}
    	%>
    	<%	out.println(getString());
    	%>
    	<h1><%= greeting %></h1>
    	<h3><%= tagline %></h3>
    </body>
    </html>

    실행결과

     

     

     

    2. 주석 태그

    <%-- 주석 내용 --%>

    html주석 : <!-- 주석내용 -->

     

     

     

    3. 디렉티브 태그

    3_1. page

    3_2. include

    3_3. taglib

     

     

     

    3_1. page

    속성 설명 기본 값
    language 현재 페이지가 사용할 프로그래밍 언어 java
    contentType 현재 페이지가 생성할 콘텐츠 유형 text/html
    pageEncoding 페이지의 문자 인코딩 설정 ISO-8859-1
    import 현재 페이지에서 사용할 자바 클래스를 설정
    두개 이상의 자바 클래스를 포함하는 경우 쉼표(,)로 구분 가능
     
    session HTTP 세션 사용 여부를 설정 true
    buffer 페이지의 출력 버퍼 크기를 설정, none 또는 버퍼크기로 설정 8KB
    autoFlush 자동으로 출력 버퍼를 비우는 것을 제어하는데 사용
    true의 경우 버퍼가 채워질 때마다 자동으로 웹 브라우저에 보내고 버퍼를 비우지만, false면 overflow exception 발생
    true
    isThreadSafe 멀티스레드 동작 설정, flase시, 하나씩 순차처리 true
    info 페이지에 대한 설명, 주석문의 기능과 같고, JSP 컨테이너는 info 속성을 무시한다. 실행되도 웹 브라우저에서 보이지않는다.  
    errorPage 현재 페이지가 실행되는 동안 오류가 발생하면 특정 페이지로 이동  
    isErrorPage 현재 페이지가 오류 페이지인지 설정
    false이면 자바 내장 객체인 exception  변수를 사용할 수 없다.
    false
    isELignored 현재 페이지의 표현언어 사용 여부 결정
    true시 표현 언어들이 정적 텍스트로 처리된다.
    false
    isScriptingEnabled 현재 페이지의 스크립트 태그 사용여부 결정  

     

    errorPage, isErrorPage

    * StackTrace로 출력시 flush로 버퍼를 비워줘야한다.

    errorpage 관련 참고 : https://offbyone.tistory.com/166

     

     

    3_2. include

    include 디렉티브 태그 사용

    include는 위와 같다. include 태그를 사용해서, 페이지의 헤더, 푸터 등을 구성하면 코드 재사용성을 높일 수 있다.

     

    cnt 출력 예

    header.jsp에 cnt를 하나 선언하고, main.jsp에서 계속 새로고침하는 경우, cnt는 정상적으로 계속 올라간다.

    *header.jsp가 제어권을 가지고 있다.

     

     

    3_3. taglib

     

    '공부 > JSP' 카테고리의 다른 글

    JSP 개발 환경  (2) 2022.09.12
    JSP란?  (0) 2022.09.12
Designed by Tistory.