JSP 기초문법 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression)
학습 목표
JSP의 기본 문법인 선언문, 스크립트릿, 표현식과 주석
JSP의 기본 제어문
태그
■ 스크립트 태그
✓ <% ... %>를 사용
✓ <과 % 그리고 % 와 > 사이에 빈 공간 문자가 있으면 안 된다.
- 종류
종류 | 태그 형식 | 사용 용도 |
지시어(directives) | <%@ %> | JSP 페이지의 속성을 지정 |
선언(declaration) | <%! %> | 소속변수 선언과 메서드 정의 |
표현식(expression) | <%= %> | 변수, 계산식, 함수 호출 결과를 문자열 형태로 출력 |
스크립트릿(scriptlet) | <% %> | 자바 코드를 기술 |
주석(comments) | <%-- --%> | JSP 페이지의 설명 추가 |
■ 액션 태그와 커스텀 태그
✓ 액션 태그
- XML 스타일의 태그로 기술한 동작 기능을 수행하는 방식
✓ 커스텀 태그
- 새로운 태그를 정의하여 이용하는 방법으로 JSP 만의 고유한 방식
종류 | 태그 형식 | 사용 용도 |
액션 태그 (action Tag) |
<jsp:include page="test.jsp /> | 현재 JPS 페이지에서 다른 페이지를 포함 |
<jsp:foward page="test.jsp /> | 현재 JSP 페이지의 제어를 다른 페이지에 전달 | |
<jsp:plugin type="applet" code="test" /> | 자바 애플릿을 플러그인 | |
<jsp:useBean id="login" class="LoginBean" /> | 자바 빈을 사용 | |
<jsp:setProperty name="login" property="pass" /> | 자바빈의 속성을 지정하는 메서드를 호출 | |
<jsp:getProperty name="login" property="pass" /> | 자바빈의 속성을 변환하는 메서드를 호출 | |
커스텀 태그(Custom Tag) | <tag:printData dbname="mydb" table="memb" /> | 사용자가 직접 정의한 태그를 이용 |
스크립트 요소
■ 스크립트 요소란?
✓ JSP 프로그래밍에서 사용되는 문법의 표현 형태!
■ 스크립트릿
✓ JSP에 자바 코드를 삽입할 때 사용
✓ JSP 페이지가 서블릿으로 변환되고 요청될 때 _jspService() 메서드 안에 선언되는 요소
✓ 스크립트릿은 선언문과 달리 선언된 변수는 지역 변수로 선언이 되고 메서드 선언은 할 수 없음
------> 만약 메서드를 선언하게 되면 메서드 안에 메서드를 선언한 것!! XXXX
✓ 스크립트릿 문법
<%
이곳에 필요한 자바 코드를 삽입(지역 변수 선언, for, while, if 등등..)
%>
스크립트릿 예제)
1
2
3
4
|
<%
String str = "스크립트 태그";
out.print(str);
%>
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<% int i=24; %>
<%
out.println("하루는 " + i + "시간이며, <br>");
out.println("하루는 " + i*60 + "분 입니다.");
%>
</body>
</html>
|
cs |
■ 표현식(expression)
✓ 동적인 JSP 페이지를 브라우저로 표현을 하기 위한 요소
✓ 변수를 출력하거나, 계산식 또는 메서드의 결괏값을 브라우저에 출력
✓ 스크립트릿 코드 내에서 out 이라는 내장 객체를 통해 브라우저에 출력하는 것과 결과가 같음
✓ 스크립트릿과 달리 변수나 메서드를 출력하고자 할 때 세미콜론(;)을 표기하지 않음
✓ 표현식 문법
<%= 변수 혹은 메서드 %> // <% 와 = 사이에 공백이 있으면 안 됨
표현식 예제)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<% int year=365; %>
<% out.println("1년은 약 몇 주일까요??"); %>
<%= year/7 %>
<%= " 주 입니다." %>
</body>
</html>
|
cs |
■ 선언문(Declaration)
✓ JSP에서 사용될 변수나 메서드를 선언할 수 있는 요소
✓ JSP페이지 내에서 변수 및 메서드를 선언 후, 변수나 메서드를 이용하여 동적으로 HTML 코드를 생성하는 데 사용
✓ 선언문에 선언된 변수를 멤버 변수라 한다.
✓ 선언문 문법
<%!
멤버 변수 및 메서드를 선언하는 영역
%>
선언문 예제)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>Declaration Example</h1>
<%!
int one;
int two = 1;
String msg;
int three;
public int plusMethod(){
return one + two;
}
%>
one + two?: <%=plusMethod() %> <p>
String msg의 값??: <%=msg %> <p>
int three의 값??: <%=three %>
</body>
</html>
|
cs |
■ 주석
✓ 프로그램에 직접적인 영향을 미치지는 않지만 개발자들의 소스 분석 내용 및 파일 설명 처리를 위해서 없어서는 안 될 꼭 필요한 요소
✓ HTML 형식의 주석
<!-- HTML 형식의 주석 -->
✓ JSP 형식의 주석
<%-- JSP 형식의 주석 --%>
✓ 스크립트 요소의 주석
<% /* 여러 줄 주석 및 부분 주석 */ %>
<% // 한 줄 주석 %>
'Language > └JSP | Servlet' 카테고리의 다른 글
[JSP] 이클립스에서 JDBC로 MySQL 연동하기 | Yoon's Dev (0) | 2021.05.12 |
---|---|
[Servlet] Servelt 서블릿 기초 문법, 클래스, 메서드, 라이프 사이클 | Yoon's Dev (0) | 2021.04.28 |
[JSP] getParameter(), getParameterValues()를 이용한 학생 정보 입력 값 전달 | Yoon's Dev (0) | 2021.04.15 |
[JSP] getParameter()를 이용한 간단한 사칙연산 계산기 | Yoon's Dev (0) | 2021.04.14 |
[JSP] getParameter()를 이용하여 구구단 출력하기 | Yoon's Dev (4) | 2021.04.14 |