반응형
JSP에선 HTML과 자바 코드를 혼용해서 사용할 수 있다고 했다. 그렇다면 HTML영역, 자바 영역을 구분해야 가독성이 좋을텐데, 이를 수행하는 것이 선언부, 표현식 스크립트릿이다. 페이지 디렉티브는 JSP페이지, 자바의 사전 설정을 수행하는 것이다. (자바에선 import가 올 수 있겠고, jsp에선 utf-8 같은 캐릭터 설정같은 것이 올 수 있겠다)
1. 디렉티브
앞서 설명했듯, 자바의 import나 JSP 페이지의 사전 설정을 수행하는 영역이다. 문법으로는 <%@ %>이다.
<예시>
<%@ page contentType = "text/html; charset=UTF-8" %> <!-- charset=iso-8859-1 한글 깨짐 -->
<%@ page import = "java.util.Date" %>
2. 선언부
선언부는 말 그대로 '무언갈 선언한다'는 뜻이다. 자바에서의 함수 정의, 변수 선언 등의 역할을 한다. 문법으로는
<%! %>를 사용한다.
<예시>
<%!
public int add(int a, int b) {
return a+b;
}
public int subtract(int a, int b){
return a-b;
}
int val1 = 10;
int val2 = 20;
%>
3. 스크립트릿
스크립트릿은 JSP페이지 내에서 자바코드를 기술할 수 있는 영역이다. 선언부, 표현부도 자바코드를 기술하긴 하지만, 스크립트릿에서 모든 자바코드는 물론 주요 자바코드를 기술한다. <for, while>, <if, else-if> 등등... 문법은 <% %>이다.
<예시>
<%
int value1 = 10;
int value2 = 20;
int addResult = add(value1, value2);
int subtractResult = subtract(value1, value2);
%>
4. 표현부
표현부는 자바의 변수값을 출력하거나 함수의 return 값 등을 표현해주는 영역이다. 음 쉽게 말하자면 어떤 연산의 결과를 보여준다고 하면 이해가 쉬울 것이다. 문법은 <%= %>를 사용한다.
<예시>
<%= value1 %> + <%= value2 %> = <%= addResult %>
<%= value1 %> - <%= value2 %> = <%= subtractResult %>
전체 코드
<!-- page : 디렉티브 ex) taglib, include -->
<%@ page contentType = "text/html; charset=UTF-8" %>
<!--선언부-->
<%!
public int add(int a, int b){
return a+b;
}
public int subtract(int a, int b){
return a-b;
}
%>
<html>
<head>
<title>스크립트 릿에서 선언부 사용</title>
</head>
<body>
<%
int value1 = 10;
int value2 = 20;
int addResult = add(value1, value2);
int subtractResult = subtract(value1, value2);
%>
<!--표현식 함수 호출 -->
<%= value1 %> + <%= value2 %> = <b><%= addResult %></b> <br>
<%= value1 %> - <%= value2 %> = <b><%= subtractResult %></b>
</body>
</html>
다음 포스트에서 계속....
반응형
'웹 개발 공부 : Back-end > JSP' 카테고리의 다른 글
[JSP] JSP 기초 - request 기본 객체 (0) | 2021.09.23 |
---|---|
[JSP] JSP의 개요 (0) | 2021.09.16 |