JSP/JSP 기본문법

선언문 태그

별초롱언니 2025. 5. 21. 17:18

선언문 태그는 변수나 메소드 등을 선언하는 태그로, 다음과 같은 형식입니다. 선언문 태그에 선언된 변수와 메소드는 서블릿 프로그램으로 번역될 때 _jspService()메소드 외부에 배치되므로 JSP 페이지 임의의 위치에서 선언할 수 있습니다. 심지어 스크립틀릿 태그보다 나중에 선언해도 스크립틀릿 태그에서 사용할 수 있습니다. 

 

선언문 태그로 선언된 변수는 서블릿 프로그램으로 번역될 때 클래스 수준의 멤버 변수가 되므로 전역변수로 사용됩니다. 예를 들어 다음 코드에서 선언문 태그로 선언한 변수 count는 서블릿 프로그램으로 번역될 때 _jspService() 메소드 외부에 배치되어 해당 JSP 페이지의 모든 스크립트 태그가 참조할 수 있는 전역변수가 됩니다. 따라서 해당 JSP 페이지의 어느 위치에서도 참조할 수 있으므로 나중에 선언된 스크립틀릿 태그에서 사용할 수 있습니다. 반면 count 변수를 스크립틀릿 태그에서 참조하면 다음 서블릿 프로그램의 예에서 보듯이 _jspService() 메소드 내부에 들어갑니다. 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%! int data = 50; %>
	<% out.println("Value of the variable is : "+data); %>
</body>
</html>


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%! int sum (int a, int b){
		return a+b;
	}%>
	<%
		out.println("2 + 3 = " + sum(2,3));
	%>
	<%=
			"2 + 3 = "  + sum(2,3)
	%>
</body>
</html>


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%! String makeItLower (String data) {
		return data.toLowerCase();
	}
	%>
	
	<%=
		makeItLower("Hello World!")
	%>
</body>
</html>