JSP 스크립트 요소

essential·2023년 7월 25일
0

JSP

목록 보기
4/21

JSP 스크립트 요소

  • JSP 페이지 내에 자바의 코드를 삽입하기 위해 사용
  • 선언문(Declarations), 스크립틀릿(Scriptlets), 표현식(Expression)의 세 가지로 구분

선언문(Declarations)

  • <%!…%> 태그를 사용
  • 선언문으로 선언하게 되면 변수는 지역변수가 아닌 필드로 만들어짐
  • 메소드가 우리가 만들 클래스의 메소드로 등록 됨
  • 선언문 예제

declarationTest.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<h1><%=getStr() %></h1> 
<%!
private String getStr(){
	str+="테스트입니다";
	return str;
}
private String str="선언문";
%>
  • declarationTest.jsp 컴파일 하면
    • .metadata/.plugin/org.eclipse.wst.server.core/tmp0/work/Catalina/localhost/JSPTEST(해당 프로젝트이름)org/apache/jsp 에 declarationTest.java 파일이 생성 됨
  • getStr() 은 메소드로 등록
  • private String str 은 필드로 등록

스크립틀릿(Scriptlet)

  • HTML 코드로 된 부분은 일반 HTML 파일처럼 그대로 사용
  • 자바 코드로 이루어진 로직(logic) 부분은 <%…%>로 표현되는 스크립틀릿 태그를 사용
  • <% 문장 1; %> <% 문장2; 문장3; 문장4; … %>

스크립틀릿 예제

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@page import="java.util.Calendar"%>
<%
Calendar c=Calendar.getInstance();
int hour =c.get(Calendar.HOUR_OF_DAY);
int minute=c.get(Calendar.MINUTE);
int second=c.get(Calendar.SECOND);
%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>현재 시간은 <%=hour %><%=minute %><%=second %>초 입니다.</h1>
</body>
</html>

표현식(Expression)

  • 선언문 또는 스크립틀릿 태그에서 선언된 변수나 메소드의 리턴값을 스크립틀릿 태그 외부에서 출력하기 위해 사용되는 방법
  • <%=변수 %> <%=리턴 값이 있는 메소드 %> <%=수식(변수 또는 리턴 값이 있는 메소드를 포함할 수 있음) %>

표현식 예제

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%!
public int sum(){
	int total=0;
	for(int i=1;i<=100;i++){
		total+=1;
	}
	return total;
}
%>
<%
String str="1부터 100까지의 합";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ExpressionTest</title>
</head>
<body>
<h2><%=str %>3을 곱하면 <b> <%=sum()*3 %></b>이 돱니다.</h2>
<h2><%=str %>1000으로 나누면 <b><%=sum()/1000%></b>가 됩니다.</h2>
</body>
</html>
profile
essential

0개의 댓글