JSP 지시어는 크게 네 가지가 있다.
<%@ %> : 페이지 지시자
<% %>: 스크립트 릿(자바 코드 적는 곳, 스택)
<%= %> 표현식 (자바 코드 화면에 출력)
<%! %>: 함수 적는 곳(전역공간)
간단한 예시를 보자.
<%@page import="java.util.Calendar"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
Calendar c=Calendar.getInstance();
Integer hour =c.get(Calendar.HOUR_OF_DAY);
Integer minute=c.get(Calendar.MINUTE);
Integer second=c.get(Calendar.SECOND);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>현재 시각은 <%=hour %>시 <%=minute %>분 <%=second %>초 입니다.</h1>
</body>
</html>
다음과 같이 JSP 파일 맨 위에는 페이지의 속성을 지정하는 코드가 있다.
<% %>는 자바 코드 로직을 적어서 HTML 코드와 구분한다. 스크립틀릿은 외부에 출력되지 않기 때문에 표현식을 이용해 외부에 출력한다. (body 부분)
전역공간에 함수를 적는 것도 확인해보자.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%!
public int sum(){
int total=0;
for(int i=0;i<=100;i++){
total+=i;
}
return total;
}
%>
<%
String str="1부터 100까지의 합";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2><%=str %>은 <b><%=sum() %></b>입니다.</h2>
<br/>
<h2><%=str %>에 3을 곱하면 <b><%=sum()*3 %></b>입니다.</h2>
<br/>
<h2><%=str %>에 1000을 나누면 <b><%=sum()/1000. %></b>입니다.</h2>
</body>
</html>
다음과 같이 for문을 이용한 함수를 전역공간에 선언할 수 있다.
(스크립틀릿으로 만든 공간은 전역공간이 아닌 지역공간이다.)
표현식에 들어가는 변수의 값은 비단 변수뿐만 아니라 리턴값이 있는 메소드나 결과값이 있는 수식이면 뭐든 가능하다(출력할 수 있는 값이면 다 가능한 것 같다.)
JSP를 할 때 주의할 점은 다음과 같다.
<body>
<h1>현재 시각은 <%=hour %>시 <%=minute %>분 <%=second %>초 입니다.</h1>
<% if(hour>=12){ %>
<h2>오후입니다.</h2>
<%}else{ %>
<h2>오전입니다.</h2>
<%} %>
</body>
</html>
다음과 같이 스크립틀릿을 많이 사용해야 하는 if문이나 for문의 경우 스크립틀릿을 열고 닫는 일, 괄호를 열고 닫는 일이 많이 있기 때문에 괄호가 잘 닫히는지 확인해야만 한다..!
반응형
'JSP' 카테고리의 다른 글
Servlet 과 JSP를 이용한(모델2 형식) 블로그 만들기(2) - 웹에서 데이터베이스로 값 넣기 (0) | 2020.05.28 |
---|---|
Servlet 과 JSP를 이용한(모델2 형식) 블로그 만들기(1) - 기본 세팅하기 (0) | 2020.05.28 |
Forwarding (0) | 2020.05.27 |
서블릿 기초, 한글 인코딩 하기 (0) | 2020.05.26 |
JSP의 기초 (0) | 2020.05.25 |