JSP 기초 문법
JSP는 기본적으로 HTML를 기반으로 그 위에 자바 코드를 끼워넣는 식으로 실행된다.
그래서 실제로는 대부분의 변수 선언, 메서드 선언, 로직 등은 자바 언어로 짜게된다.
하지만 자바 코드를 HTML 사이에 끼워 넣을 때 필요한 문법이 몇 가지가 있다.
1. 스크릿트립(Scriptlet)
"<% %>"으로 시작하고 끝나는 태그.
JSP 문법의 가장 기본이 되는 태그다. 대부분의 JSP 문법 표현을 이 스크릿트립을 기본으로 한다.
"<% %>" 사이에 실행될 자바 코드를 입력하면 된다.
<%@ 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 name = "홍길동"; %>
<%! public int plus(int a, int b){ return a+b; } %>
<!-- 스크립트릿( 변수선언, 메서드 등에 대한 실행 가능 ) -->
<% int a = 5; %>
<% int b = 5; %>
<% plus(a,b); %>
<!-- 10 출력 -->
<% if(5>1){ System.out.println("5는 1보다 크다"); } %>
<!-- "5는 1보다 크다" 출력 -->
</body>
</html>
2. 선언부 (Declaration)
"<%! %>"는 변수, 메서드 등을 선언할 때 이용하는 태그다.
<%@ 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 name = "홍길동"; %>
<%! public int plus(int a, int b){ return a+b; } %>
</body>
</html>
3. 표현부 (Expession)
"<%= %>"는 변수, 메서드 등의 실행에 관한 부분을 맡아 그 결과를 표현한다.
<%@ 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 name = "홍길동"; %>
<%! public int plus(int a, int b){ return a+b; } %>
<!-- 구현부 (변수 선언, 변수 및 메서드에 대한 실행 가능) -->
<p><%= name %></p>
<!-- "홍길동" 출력 -->
<p><%= plus(5,5) %></p>
<!-- 10 출력 -->
</body>
</html>
4. JSP 지시어
JSP 지시문은 서블릿 클래스의 전체 구조에 영향을 준다.
해당 JSP 파일을 어떻게 처리할지 정보 등을 기술한다.
|
이름 |
문법 |
설명 |
|
page |
<%@ page ... %> |
현재 JSP 페이지를 처리시 필요한 정보 기재 |
|
include |
<%@ include ... %> |
현재 JSP파일 안에 다른 HTML, JSP 문서를 포함 |
|
taglib |
<%@ taglib ... %> |
태그 라이브러리를 사용하기 위해 선언해주는 태그 |
5. JSP 액션 태그
JSP 문서 내에서 간단하게 다양한 구현을 할 수 있도록 만든 태그다.
|
jsp:include |
<jsp:include> |
다른 페이지를 현재 페이지에 포함하고자 할 때 사용 |
|
jsp:useBean |
<jsp:useBean> |
자바 빈즈 사용을 위한 객체 생성을 위해 사용 |
|
jsp:setProperty |
<jsp:setProperty> |
자바 빈즈 데이터를 입력하기 위해 사용 |
|
jsp:getProperty |
<jsp:getProperty> |
자바 빈즈 데이터를 얻어내기 위해 사용 |
|
jsp:forward |
<jsp:forward> |
현재 페이지에서 다른 페이지로 이동할 때 사용 |
|
jsp:plugin |
<jsp:plugin> |
자바 컴포넌트를 삽입하는데 사용 |
|
jsp:element |
<jsp:element> |
동적으로 XML 요소를 정의하는데 사용 |
|
jsp:attribute |
<jsp:attribute> |
동적으로 XML 요소를 정의하는데 사용 |
|
jsp:body |
<jsp:body> |
동적으로 XML 요소를 정의하는데 사용 |
|
jsp:text |
<jsp:text> |
JSP 페이지와 문서의 템플릿 텍스트를 작성하는데 사용 |