<% .. %> 사용
JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환될 때 JSP 컨테이너가 자바 코드가 삽입되어있는 스크립트 태그를 처리하고 나머지는 HTML 코드나 일반 텍스트로 간주
스크립트 태그 | 형식 | 설명 |
---|---|---|
선언문 | <%!.. %> | 자바 변수나 메소드를 정의 |
스크립틀릿 | <% .. %> | 자바 로직 코드 작성 |
표현문 | <%= .. %> | 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력 |
<html>
<head>
<meta charset="UTF-8">
<title>Scripting tag</title>
</head>
<body>
page count is:
<%
out.print(myMethod(0));
%>
<!-- 선언문태그 -->
<%!
public int myMethod(int count){
return ++count;
}
%>
</body>
</html>
선언문 태그(전역 메소드)가 스크립틀릿 태그보다 나중에 명시되어있지만 잘 동작한다.
<html>
<head>
<meta charset="UTF-8">
<title>Scripting tag</title>
</head>
<body>
<!-- num이 먼저 초기화됨 -->
<% int num = 10;%>
page count is:<%=num %>
</body>
</html>
위 코드는 잘 작동하지만
<html>
<head>
<meta charset="UTF-8">
<title>Scripting tag</title>
</head>
<body>
<!-- num이 나중에 초기화됨 -->
page count is:<%=num %>
<% int num = 10;%>
</body>
</html>
위 코드는 동작하지 않는다.
선언문 태그 | 스크립틀릿 태그 |
---|---|
메소드 & 변수 선언 가능 | 메소드X, 변수만 선언 가능 |
서블릿 프로그램으로 변환시 _jspService() 메소드 외부에 배치 | 서블릿 프로그램으로 변환시 _jspService() 메소드 내부에 배치 |
멋지십니다!