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 |