본문 바로가기
Web/Jsp

JSP 스크립트

by 코린이엄현종 2024. 3. 11.
  1. 스크립트 태그의 종류

스크립트 태그

  • <% ... %> 사용
  • JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환할 때
  • JSP 컨테이너가 자바 코드가 삽입 되어 있는 스크립트 태그를 처리하고 나머지는 HTML 코드나 일반 텍스트로 간주
스크립트 태그
형식
설명
선언문(declaration)
<%! %>
자바 변수나 메소드를 정의하는 데 사용합니다.
스크립틀릿(scriptlet)
<% %>
자바 로직 코드를 작성하는 데 사용합니다.
표현문(expression)
<%= %>
변수,계산식,메소드 호출 결과를 문자열 형태로 출력하는 데 사용합니다.

JSP의 기본태그

스크립트릿 <% 자바코드 %>

선언 <%! 변수, 메소드 선언 %>

표현식 <%= 변수, 수식, 메소드 호출 %>

JSP의 주석 <%-- 주석 --%>

지시자(directive) <%@ jsp페이지의 속성을 나타냄 %>

* 지시자(directive)

1) <%@ page...> jsp페이지의 전반적인 속성

2) <%@ include...> 다른 파일을 삽입

3) <%@ taglib...> 뒤에서 "JSTL"을 사용하기 위한 지시자

${변수} => el

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
for (int i = 0; i <= 10; i++){// 0~10 반복
	if (i % 2 == 0) // 짝수
		out.println(i + "<br>");
}
%>

</body>
</html>
ex01_result

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int a = 2;
int b = 3;
int sum = a + b;
out.println("2 + 3 = " + sum + "<br>");
%>
<%= sum %>
</body>
</html>
ex02_result

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%! int data = 50; %>
<%
out.println("Value of the variable is:" + data);
%>

</body>
</html>
ex03_result

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%! // 선언
int sum(int a, int b) {
	return a + b;
}
%>

<% // 스크립트릿
out.println("2 + 3 = " + sum(2,3) + "<br>");
%>
<!-- expression으로 작성 -->
<%= "2 + 3 = " + sum(2,3) %>
</body>
</html>
ex04_result

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%! 
int count = 3;

String makeItLower(String data) {
	return data.toLowerCase();
}
%>
<%
for(int i=1; i <= count; i++){
	out.println("Java Server Pages " + i + "<br>");
}
%>
<%= makeItLower("Hello World") %>

</body>
</html>
ex05_result

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!
String str = "안녕하세요!";
int a = 5, b = -5;

public int abs(int n){
	if (n < 0){
		n = -n;
	}
	return n;
}
%>
<%
// out.print(str + "<br>");
// out.print(a + "의 절대값 : " + abs(a) + "<br>");
// out.print(b + "의 절대값 : " + abs(b) + "<br>");
%>

<%= str %><br>
<%= a %>의 절대값 :
<%= abs(a) %><br>
<%= b %>의 절대값 :
<%= abs(b) %><br>
</body>
</html>
ex06_result