JSP&Servlet
[JSP] JSP의 스크립트 요소
Untitled_Blue
2023. 10. 3. 20:51
반응형
안녕하세요. 이번 글은 JSP의 스크립트 요소에 대한 글입니다.
- 스크립트 요소란?
- JSP파일에서 자바 코드를 사용하기 위한 일종의 코드 블럭
- 크게 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression) 3가지로 분류된다.
- 선언문 (Declaration)
- <%! %>
- JSP 파일 내 필요한 변수와 메서드를 선언 및 사용하기 위한 요소
<%!
String vUrl = "/index.do";
public void Indexing() {
vUrl += "MainPage";
}
%>
다음과 같이 변수와 메서드를 선언하기 위해 해당 요소를 사용할 수 있다는 점을 확인할 수 있다. 또한 선언문은 여러 번 선언할 수 있다.
- 스크립트릿 (Scriptlet)
- <% %>
- JSP 페이지 내에서 가장 많이 사용하는 스크립트 요소이자 로직을 기술할 때 사용
- 해당 스크립트 요소에 선언되는 모든 부분은 지역변수로 인식
<%@ 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 test = "Untited_blue";
%>
<h2>여기는 티스토리 플랫폼에서 운영 중인 <%=test %>의 블로그입니다.</h2>
</body>
</html>
다음과 같이 스크립트릿을 통해 변수와 메서드를 선언할 수 있음을 확인할 수 있다. 이때 이렇게만 보면 선언문과 별다른 차이점이 없는 것 아닌가? 하는 의문이 들 수 있다. 차이점은 먼저 선언문에서는 변수와 메서드를 선언하면 전역변수로 인식해서 선언문 기준 이전과 이후 위치에서 모두 사용할 수 있다. 하지만 스크립트릿은 지역변수로 인식하기 때문에 스크립트릿 이후에만 해당 변수와 메서드를 사용할 수 있다. 이전에는 사용할 수 없다.
- 표현식 (Expression)
- <%= %>
- JSP 페이지에서 웹 문서로서 출력할 부분을 표현하기 위한 스크립트 요소
<%@ 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 test = "Untited_blue";
%>
<h2>여기는 티스토리 플랫폼에서 운영 중인 <%=test %>의 블로그입니다.</h2>
</body>
</html>
상단 소스코드에 대한 실행 결과는 스크립트릿 (Scriptlet)에서 볼 수 있다. 다음과 같이 <%= %>을 통해 선언문 또는 스크립트릿을 통해 선언해둔 변수와 메서드를 웹 문서에 표시할 수 있음을 확인할 수 있다. 이때 세미콜론은 사용하지 않는다.
<%-- 주석은 이렇게 사용하면 된다. --%>
추가로 JSP에서는 주석을 <%-- --%>을 사용하면 된다. 하지만 선언문과 스크립트릿에서는 Java처럼 //, /* */을 사용해야 한다. 하지만 HTML 내에서는 <!-- -->을 사용하는데 JSP 주석을 사용해도 그렇지 않아도 정상적으로 주석을 인식할 수 있음을 확인할 수 있다.
다음 글은 JSP의 내장객체에 대한 설명입니다. 감사합니다.
반응형