스크립트 태그의 종류
| 스크립트 태그 | 형식 | 설명 |
| 선언문(declaration) | <%! %> | *변수, 메소드 선언 자바 변수나 메소드를 정의 |
| 스크립틀릿(scriptlet) | <% %> | 자바 로직 코드 작성 |
| 표현문(expression) | <%= %> | **호출 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력. |
// 선언은 선언문
<%! String a = 10; %> // 변수 선언
<%! void add() {} %> // 메소드 선언
-------------------------------------------------------
// 호출은 표현문
<%= System.out.println() %>
<%= add() %>
선언문 태그 (declaration tag)
변수나 메소드 등을 선언하는 태그이며, 선언문 태그에 선언된 변수와 메소드는 서블릿 프로그램으로 번역될 때 _jspService()메소드 외부에 배치되므로 JSP 페이지 임의의 위치에서 선언 할 수 있음. 심지어 스크립틀 태그보다 나중에 선언해도 스크립틀 태그에서 사용 가능.
// 기본형
<%! 자바 코드;%>
선언문 태그로 선언된 변수는 서블릿 프로그램으로 번역될 때 클래스 수준의 멤버 변수가 되므로 전역변수로 사용
여기에 선언된 변수는 이 페이지를 방문하는 모든 사용자가 공유할 수 있습니다. (페이지가 종료돼도 값이 유지됨)
여기에 **함수(메서드)**를 만들 수 있습니다.
선언문 태그로 선언된 변수는 서블릿 프로그램으로 번역될 때 클래스 수준의 멤버 변수가 되므로 전역변수로 사용.
- 예시
<%!
// 멤버 변수 선언 (모든 사용자가 공유)
int visitorCount = 0;
// 메서드(함수) 선언
public String getGreeting() {
return "안녕하세요!";
}
%>
스크립틀릿 태그(scriptlet tag)
자바 코드로 이루어진 로직 부분을 표현하며, 가장 일반적으로 사용되고 변수 또는 메소드 호출, 유효식 등 다수를 포함할 수 있음.
모든 텍스트, HTML 태그, 또는 JSP 요소는 스크립틀릿 태그 외부에 있어야함.
// 기본형
<% 자바 코드 %>
스크립틀릿 태그에 작성된 자바 코드는 서블릿 프로그램으로 변환될 때 _jspService()메소드 내부에 복사됨. 각 클라이언트의 요청에 대해 메소드가 호출 되므로 이 메소드의 내부 코드가 클라이언트의 요청마다 실행되어야 하기 때문. 그리고 이 메소드 내부에 복사되므로 지역변수가 되어 이 태그에 선언된 변수는 스크립틀릿 태그 내에서만 사용 가능.
if문, for문, 변수 선언 등 대부분의 자바 코드를 쓸 수 있습니다.
여기에 선언된 변수는 **'지역 변수'**입니다. (페이지 요청이 끝나면 사라짐)
스크립틀릿 태그에 작성된 자바 코드는 서블릿 프로그램으로 변환될 때 _jspService()메소드 내부에 복사됨. 각 클라이언트의 요청에 대해 메소드가 호출 되므로 이 메소드의 내부 코드가 클라이언트의 요청마다 실행되어야 하기 때문. 그리고 이 메소드 내부에 복사되므로 지역변수가 되어 이 태그에 선언된 변수는 스크립틀릿 태그 내에서만 사용 가능.
- 예시
<%
String userName = "홍길동"; // 지역 변수
if (userName.equals("홍길동")) {
out.println("관리자입니다."); // HTML로 "관리자입니다." 출력
} else {
out.println("방문자입니다.");
}
%>
표현문 태그(expression tag)
웹 프라우저에 출력할 부분을 표현.
표현문 태그를 이용하여 선언문 태그 또는 스클립틀릿 태그에서 선언된 변수나 메소드의 반환값을 외부로 출력할 수 있음.
표현문 태그는 스크립틀릿 태그에서 사용할 수 없으므로 out.print()메소드 사용.
// 기본형
<%= 자바 코드 %>
표현문 태그에 숫자, 문자 boolean등의 기본 데이터 타입과 자바 객체 타입도 사용 가능. 표현문에 작성된 모든 자바코드의 값은 문자열로 변환되어 웹브라우저에 출력됨.
기본 데이터 타입은 toString()을 통해 출력되고, 자바 객체 타입은 java.lang.Object 클래스의 toString()메소드를 사용하거나 자체에서 선언한 toStrin()을 사용하여 출력됨.
스크립틀릿의 <% out.print(...); %>를 짧게 줄여 쓴 것과 같습니다.
주의! 태그 안에 세미콜론(;)을 쓰면 안 됩니다.
표현문 태그에 숫자, 문자 boolean등의 기본 데이터 타입과 자바 객체 타입도 사용 가능. 표현문에 작성된 모든 자바코드의 값은 문자열로 변환되어 웹브라우저에 출력됨.
기본 데이터 타입은 toString()을 통해 출력되고, 자바 객체 타입은 java.lang.Object 클래스의 toString()메소드를 사용하거나 자체에서 선언한 toStrin()을 사용하여 출력됨.
예시
<%
String email = "test@example.com";
out.print(email);
%>
회원님의 이메일은 <%= email %> 입니다.
인사말: <%= getGreeting() %> ```
주석 태그 구문
<%--JSP 주석 처리 내용--%>

'JSP' 카테고리의 다른 글
| [JSP] 기본 내장(Implicit) 객체 정리 (1) | 2025.12.03 |
|---|---|
| [JSP] 내장 객체_3 (0) | 2025.12.03 |
| [JSP] 내장 객체_2 (0) | 2025.12.03 |
| [JSP] 자바빈즈 액션 태그 (0) | 2025.12.03 |
| [JSP] JSP(JavaServer Pages) (0) | 2025.12.03 |