선언
선언에서 변수, 메서드를 선언한다.
변수, 메서드 선언비 반드시 ; (세미콜론)가 필요하다.
<%! 선언문; %>
* 선언에서 선언된 변수, 메서드는 처음 요청이 있을 때 한 번만 호출된다.
따라서 계속되는 요구에도 변수의 값은 초기화되지 않고,
JSP컨테이너(Tomcat 등)를 다시 시작할 때까지 값이 유지된다.
스크립틀릿
스크립틀릿은 JSP 태그에서는 표현할 수 없는 작업을 Java 코드를 작성하고
자유로운 작업을 수행하는 경우에 사용한다.
Java 코드를 위한 각 코드에는 반드시 ; (세미콜론)가 필요하다.
<% 스크립틀릿; %>
* 스크립틀릿에서 선언 된 변수는 요청 때마다 호출된다.
따라서 그 요청이 있을 때 마다 변수의 값이 초기화된다.
표현식
식에서는 Java 코드를 작성하고 그 결과를 표시한다.
따라서 실행 결과를 반환 코드 밖에 기술할 수는 없다.
실행 결과를 리턴하지 void 메서드나 변수의 선언만 식으로 설명할 수 없다.
식에서는 ; (세미콜론)가 필요하지 않다.
<%= 표현식 %>
식으로 작성할 수 있는 코드(O)
코드 | 설명 |
<%= abc %> | 변수 abc의 값을 표시한다. |
<%= getValue() %> | 메소드 getValue의 실행 결과를 표시한다. |
식으로 작성할 수 없는 코드(X)
코드 | 설명 |
<%= int abc=0 %> | 변수 abc 선언. |
<%= setValue() %> | 반환 값이 void 메소드 setValue 실행. |
예제) 태그에 변수를 선언하고 페이지가 처리 될 때마다 값을 1 씩 증가.
변수 num은 선언 태그에 선언하고,
변수 numS는 스크립틀릿에서 선언을 해보았다.
<%@ 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 num=0; %>
선언부에서 선언한 num: <%= num++ %>
<br><br>
<% int numS = 0; %>
스크립틀릿에 선언한 numS: <%= numS++ %>
</body>
</html>
실행결과
Refresh를 눌렀을 경우
num의 숫자는 계속 올라가는 반면, numS의 숫자는 계속 0에 머물러 있다.
'IT > JSP + JQuery' 카테고리의 다른 글
[JSP] 지시문 (0) | 2021.06.14 |
---|---|
[JSP] 정의, 특징, 구성요소 (2) | 2021.06.14 |
[JQuery] 이미지 자동 삽입 및 삭제 (0) | 2021.06.10 |
[JQuery] 속성 값 지정 -2 ( 이미지를 클릭하면 속성 값 취득하여 출력) (0) | 2021.06.10 |
[JQuery] 속성 값 지정 - 1 ( 이미지 클릭하면 다른 이미지로 변경) (0) | 2021.06.10 |