스크립트 요소(스크립틀릿, 선언부, 표현식)

2020-12-27

선언문JSP 스크립트 요소

스크립틀릿 표현식 선언부 스크립틀릿

  • JSP에서 자바코드를 실행할 때 사용하는 자바코드블록.

  • <% %> 사이에 자바코드가 온다.

<% 자바코드1; 자바코드2; 자바코드3; … %> 예제

<%@ page language=”java” contentType=”text/html; charset=UTF-8” pageEncoding=”UTF-8”%>

<!DOCTYPE html>

Insert title here <% int sum =0; for(int i =0; i<=10; i++){ sum += i; } %> 1부터 10까지의 합은 <%= sum %> 입니다.

표현식

  • 어떤 값을 출력 결과에 포함시키고자 할 때 사용.

  • <%= 와 %> 사이에 출력할 값이 위치.

  • 숫자나 문자열, 변수 등의 값을 사용할 수 있음.

<%= 값 %> 예제

<%@ page language=”java” contentType=”text/html; charset=utf-8” pageEncoding=”utf-8”%> <%@ page import =”java.util.*” %> <% Date now = new Date(); %> <!DOCTYPE html>

현재시간
현재시간: <%= now %>

선언부

  • JSP의 스크립트릿이나 표현식에서 사용할 수있는 메소드를 작성할 때 사용.

  • 자바의 메소드와 동일함.

  • 메소드 이름 규칙도 자바와 동일하다

( 첫글자 문자 또는 언더바(_)로 시작, 첫글자를 제외한 나머지는 문자와 숫자 그리고 언더바의 조합, 대소문자 구분 )

  • 선언부를 맨 아래에 선언하고 스크립틀릿에서 선언부에 선언한 메소드를 사용해도 사용할 수 있다.(자바스크립트 호이스팅과 같은 원리인 듯 하다. 아니라면 댓글로 알려주세요 ㅠㅠ)

<%! public 리턴타입 메소드명(파라미터 arguments){ 자바코드1; 자바코드2; … 자바코드n; return result; } %> 예제

<%@ page language=”java” contentType=”text/html; charset=UTF-8” pageEncoding=”UTF-8”%> <%! public int multiply(int a, int b){ int c= a*b; return c; } %> <!DOCTYPE html>

선언부를 사용한 두 정수값의 곱 10 * 25 = <%= multiply(10,25) %>

출처 : https://gist.github.com/kimwansu/9626095