[JSP] 스크립트요소(Script Element)

Gabriela·2023년 9월 14일
0

JSP

목록 보기
9/20

JSP


Jsp 구성요소

  • HTML / CSS / JS(JavaScript)
  • Jsp 기본 태그
  • Jsp 액션 태그
  • 커스텀 태그
  • Jsp 스크립트 요소

Jsp 페이지 구성 요소

  • 디렉티브 태그(Directive Tag)
  • 스크립트 요소(Script Element)
    • 주석문(Comment)
    • 표현식(Expression)
    • 선언식(Declaration)
    • 스크립트릿(Scriptlet)
  • 내장 객체
  • 액션 태그(Action Tag)
  • 커스텀 태그(Custom Tag)

Servlet과 JSP 개념 비교

  • JSP : HTML에서 Java를 사용

  • (MVC pattern : Java, JSP, Sevelt을 합쳐서 사용)


JSP 생성 방법

  • jsp 는 html과 동일하게 폴더로 생성 후 jsp 파일을 생성한다.

지시어(directive)

  • page : page 설정, Java import
  • include : 다른 페이지를 현재 페이지에 포함할 때 사용
  • taglib : JSTL(Java Standard Tag Library) 사용할 때 사용

page directive 속성

속성기본값작성방법의미
info없음<%@ page info="메인페이지" %>페이지를 설명하는 문자열
languagejava<%@ page language="java" %>사용할 언어
contentTypetext/html<%@ page contentType="text/html" %>페이지 출력 형식
pageEncodingISO-8859-1<%@ page pageEncoding="UTF-8" %>페이지 문자열 인코딩
import없음<%@ page import="java.util.Date" %>다른 패키지의 클래스 import
sessiontrue<%@ page session="true" %> HttpSession객체 사용 유무
errorPage없음<%@ page errorPage="error.jsp" %>예외 처리 담당 페이지
isErrorPagefalse<%@ page isErrorPage="false" %>현재 Jsp 페이지의 예외 처리 담당 유무
isELIgnoredtrue<%@ page isELIgnored="true" %>EL 사용 유무
buffer8KB<%@ page buffer="8KB" %>사용할 버퍼 크기
autoFlushtrue<%@ page autoFlush="true" %>페이지 내용 출력 전에 버퍼가 다 채워질 경우 자동으로 버퍼를 비울 것인지 여부

include directive

  • 공통으로 사용하는 Jsp 페이지를 다른 Jsp 페이지에 추가할 때 사용함
  • 페이지 상단(헤더 영역)이나 페이지 하단(푸터 영역)의 공통 화면을 만들 때 주로 사용
  • Jsp 페이지의 재사용성이 높고 유지관리가 용이
  • 정적인 페이지를 포함하는 방식으로 동작

형식

  • <%@ include file="header.jsp" %>

taglib directive

  • 가장 많이 사용되는 커스텀 태그들을 표준화하여 라이브러리로 제공하는 JSTL을 사용할 때 추가함
  • 표현언어(EL), JSTL을 함께 사용할 수 있음

형식

  • <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

스크립트 요소

  • <%%> 로 표기

선언부(declaration)

  • 전역 변수 선언 및 메소드 정의
    <%! void method() { } %>

Java 메소드 정의

  • 선언부에서는 메소드를 만들어 둘 수 있다. 호출은 X
    • 예)
      // 0~9 사이의 난수를 반환하는 getRandom() 메소드 정의하기
      public int getRandom(){
        return (int)(Math.random() * 10);
      }
    %>
    <div>0~9 사이 난수 : <%=getRandom()%></div>

스크립트릿(scriptlet)

  • 일반 Java 코드
  • 지역 변수 선언, 제어문 등
  • 스크립트릿<% %>으로 변수를 만든다.
    • 예) <% int a = 10; %>

표현식(expression)

  • Java 값(변수, 반환값이 있는 메소드 호출 결과)
    <%= age %>
    <%= getArea() %>
  • 표현식<%= %>으로 값을 호출한다.
    • 예) <div><%=a%></div>

주석문

  • HTML 주석 : <!-- -->
    • 페이지 소스 보기를 통해서 주석의 확인이 가능하다.
    • Java 관련 코드는 주석처리하지 못한다.
  • JSP 주석 : <%-- -->
    • 페이지 소스 보기를 통해서 주석의 확인이 불가능하다.
    • Java 관련 코드를 주석처리할 수 있다.

Java와 JavaScript의 관계

  • Java 변수를 JavaScript에서 사용할 수 있다.

  • JavaScript 변수를 Java에서 사용할 수 없다.

    • 예)
    <%-- Java 변수 선언 --%>
    <% String msg = "Hello World"; %>
    
    <%-- Java 변수를 JavaScript에서 사용하기 --%>
    <script>
      alert('<%=msg%>');
    </script>

👉Script Element 활용예제(깃허브 클릭)



profile
개발이 세상에서 제일 재밌어요

0개의 댓글