본문 바로가기
개발/JSP

[JSP] 페이지의 스크랩트 요소

by 두리두리안 2021. 4. 3.

스크립트 요소의 이해

요소 내용
선언문  <%! %>: 전역 변수 선언 및 메소드 선언에 사용
스크립트릿  <% %> : 프로그래밍 코드 기술에 사용
표현식  <%= %> 화면에 출력할 내용 기술에 사용

 


선언문,스크립트릿,표현식 예제

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sript 예제</title>
</head>
<body>
	<h2>선언문 스크립트릿, 표현식의 쓰임을 알아보는 </h2>
	<%! //선언문 - 전역 변수 선언  
	   String str = "전역 번수";
	%>
	<%! //선언문 - 메소드 선언
	   String getStr(){
		return str;
	}
	%>
	<% //스크립트릿
	   String str2 ="지역변수 입니다.";
	%>
	스크립트릿에서 선언한 변수 str2는 <%=str2 %><br><!-- 표현식 -->
	선언문에서 선언한 변수str1은 <%=getStr()%> <!-- 표현식 -->
</body>
</html>


선언문

요소 내용
맴버 변수 맴버 변수를 선언시에는 변수의 데이터 타입과 변수명을 기술
맴버 변수는 초기값으로 기술하지 않을때 에는 선언한 변수의 데이터 타입의 기본값으로 초기화
지역 변수 메소드안에서 선언된 변수를 지역변수라고 한다. 
지역변수는 초기화가 자동으로 일어나지 않기 떄문에 코드에서 초기화를 하지 않고 사용하면 컴파일시 에러가 발생
문법 <%! 문장 %>

 

선언문 예제 - 변수선언

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>선언문 예제 - 변수선언</title>
</head>
<body>
	<h2>선언문 예제</h2>
	<%
	String str1 = str2 + "Server Page";
	%>
	<%!
	String str2 = "Java";
	%>
	
	출력결과 : <%=str1 %>
	
</body>
</html>

선언문 예제 - 메소드 선언

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>선언문 예제 - 메소드 선언</title>
</head>
<body>
	<h2>선언문 예제</h2>
	<%!
	String id = "Min";
	
	public String getId(){
		return id;
	}
	%>
	id변수의 내용: <%=id %><br/>
	getId()메소드의 실행결과 : <%=getId() %>
	
</body>
</html>


스크립트릿

스크립트릿은 JSP페이지에서 가장 일반적으로 쓰이는 스크립트 요소로 주로 프로그래밍의 로직을 기술할 때 사용

스크립트릿 (<%%>)은 JSP페이지가 서블릿으로 변환되고, 이 페이지가 호출 될때 _jspService메소드 안에 선언

선언된 변수는 지역 변수로 선언

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import ="java.sql.Timestamp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>스크립트릿 예제</title>
</head>
<body>
	<h2>스크립트릿 예제</h2>
	<%
	Timestamp now = new Timestamp(System.currentTimeMillis());
	%>
	현재는 <%=now.getHours() %>시 <%=now.getMinutes() %>분 입니다.
</body>
</html>


표현식

JSP페이지에서 웹 브라우저에 출력할 부분을 표현하기 위한 것이다. 

즉 화면에 출력하기 위한 것이다. 

 

예제1

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>표현식 예제 - 배열의 특정요소의 내용 출력</title>
</head>
<body>
	<%
	/* 배열의 초기화 블록을 사용하면 배열의 선언, 메모리 할당, 초기값 설정을 한번에 할수 있다. */
	String[]str={"JSP","JAVA","HTML5"};
	int i=(int)(Math.random()*3);
	%>
	<%=str[i] %>가 재미있다.
</body>
</html>

예제2

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>표현식 예제 - 레퍼런스 타입 출력</title>
</head>
<body>
	<h2>표현식 예제 - 레퍼런스 타입 출력</h2>
	<%
	StringBuffer sf=new StringBuffer("Reshiram");
	sf.reverse();
	out.println("객체의 내용:" +sf.toString());
	%>
</body>
</html>

sf.reverse()는 문자열의 순서를 역순으로 표시

'개발 > JSP' 카테고리의 다른 글

[JSP] 내장 객체  (0) 2021.04.04
[JSP] 페이지의 연산자, 제어문, 및 한글처리  (0) 2021.04.04
[JSP] 디렉토리  (0) 2021.04.03
[JSP] 프로그래밍의 개요  (0) 2021.04.02
Tomcat Jsp 연동  (0) 2021.03.12