[JSP] 스크립트 요소

Jeini·2023년 4월 18일
0

🌐 JSP

목록 보기
4/24
post-thumbnail

💡 스크립트 요소


✔️ 문서의 내용을 동적으로 생성하기 위해 사용되는 것
✔️ html태그에서 java를 쓸 수 있게 해주는 태그

JSP 프로그래밍에서 로직을 수행하는데 필요하다.
그러한 부분에서 스크립트 코드를 사용해서 프로그램이 수행해야 하는 기능을 구현할 수 있다.

💡 Scriptlet | 스크립트릿


✔️ java 코드 실행
✔️ <% java 코드 ... %>

✏️ 1부터 10까지의 합을 구하는 JSP 페이지

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>sum.jsp</title>
</head>
<body>
<%	
	int sum = 0;
	for(int i = 1; i <= 10; i++) {
		sum = sum + i;
	}

%>

1부터 10까지의 합은 <%= sum %> 입니다.
<br>
  
</body>
</html>
1부터 10까지의 합은 55 입니다.

✏️ 풀이

<%	
	int sum = 0;
	for(int i = 1; i <= 10; i++) {
		sum = sum + i;
	}
%>

스크립트릿을 사용하여 값을 지정할 sum 이라는 int 타입의 변수를 선언하였고 for문을 이용하여 1부터 10까지의 숫자를 차례대로 변수 sum 에 더하였다.

💡 Expression | 표현식


✔️ 어떤 값을 출력 결과에 포함시키고자 할 때 사용
✔️ <%= 값 %>

위의 스크립트릿의 예시에서 표현식을 사용하였다.

<%= sum %>

표현식을 통해 변수 sum 값을 출력한다.

위의 예제는 표현식의 값 부분에 변수가 왔지만, 변수뿐만 아니라 숫자나 문자열 등의 값을 표현식에서 사용할 수도 있다.

✏️ 표현식 값 부분에 직접 1부터 10까지의 합 계산결과 넣기

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>expression Sum Ex</title>
</head>
<body>
  
1 부터 10까지의 합:
<%= 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 %>입니다.

</body>
</html>
1 부터 10까지의 합: 55입니다.

💡 declaration | 선언부


✔️ JSP에서 사용될 변수나 메서드를 선언할 수 있는 영역들의 요소
✔️ <%! public 리턴타입 메서드 이름() {...return...} %>

스크립트릿이나 표현식에서 사용할 수 있는 메서드를 작성할 때 사용된다.

  • 멤버 변수: 선언문에 선언된 변수

  • 선언문에서 선언된 변수는 JSP 페이지가 서블릿 코드로 변환이 되면 서블릿 클래스의 멤버변수로 변환

  • 선언문에 선언된 변수는 선언된 위치에 상관없이 모든 메서드에 참조가 가능
    ➡️ 객체 생성 시에 멤버 변수가 메서드보다 먼저 생성되기 때문

✏️ 두 정수의 곱을 계산

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>

<%!
	public int muliply(int a, int b) {
		int c = a * b;
		return c;
	}
%>


<head>
<meta charset="UTF-8">
<title>useDecl.ex</title>
</head>
<body>

10 * 25 = <%= muliply(10, 25) %>

</body>
</html>
10 * 25 = 250

✏️ 선언부에 정의한 메서드를 스크립트릿에 사용

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>

<%!
	public int add(int a, int b) {
		int c = a + b;
		return c;
	}

	public int subtract(int a, int b) {
		int c = a - b;
		return c;
	}
%>

<head>
<meta charset="UTF-8">
<title>useDecl1</title>
</head>
<body>

<%
	int value1 = 3;
	int value2 = 9;
	
	int addResult = add(value1, value2);
	int subtractResult = subtract(value1, value2);
%>
<%= value1 %> + <%= value2 %> = <%= addResult %>
<br>
<%= value1 %> - <%= value2 %> = <%= subtractResult %>

</body>
</html>
3 + 9 = 12
3 - 9 = -6
profile
Fill in my own colorful colors🎨

0개의 댓글