JSP 태그란?
- JSP에서는 HTML 코드에 JAVA 언어를 삽입하여 동적 문서를 만드는데, HTML 코드 안에 JAVA 코드를 삽입하기 위해서는 태그를 이용해야 함
- HTML은 브라우저에서 실행되기 때문에 주석은 소스보기를 하면 그대로 보이지만, JSP 코드는 서버에서 실행되기 때문에 소스보기를 하면 주석이 나오지 않음
JSP 태그의 종류
구분 | JSP 태그 | 용도 |
지시자 | <%@ %> | 페이지 속성 지정 |
주석 | <%-- --%> | 주석 처리 |
선언 | <%! %> | 변수, 메소드의 선언 |
표현식 | <%= %> | 결과값 출력 |
스크립트릿 | <% %> | JAVA 코드 삽입 |
액션태그 | <jsp:action> </jsp:action> | 페이지 삽입, 공유, 자바빈 사용 등 |
1. 지시자
<%@ %>
- JSP 페이지의 전체 속성을 지정할 때 사용
- 범위 : JSP 파일 전체(클래스를 import 할 경우 파일 내 어디서든 접근할 수 잇음)
- 처음 JSP 파일을 생성하면 가장 윗부분에 생성되는 부분이 JSP 지시자 태그
- JSP 페이지의 기본 성격을 나타내는 부분
- page, include, taglib가 있으며 <%@ 속성%> 형태로 사용
- page : 해당 페이지의 전체 속성 지정
- include : 별도의 페이지를 현재 페이지에 삽입 → 팀 프로젝트 할 때 header와 그 외 페이지들을 연결할 때 사용했음
- taglib : 태그 라이브러리의 태그 사용(태그 라이브러리 : 사용자가 만든 tag들) / uri 및 prefix 속성이 있음
<%@page import="java.util.Arrays'%>
<%@page language="java contentType="text/html; charset=EUC=KR" pageEncoding="EUC-KR"%>
2. 주석
<%-- --%>
- 프로그램 설명을 위해 달아두는 태그
/* HTML 주석 */
<!-- 주석 -->
/* JSP 주석 */
<%-- 주석 --%>
3. 선언
<%! %>
- 변수와 메소드를 선언
- 범위 : 페이지 내 어디서나 접근할 수 있는 전역 변수 및 메소드
<%!
int a = 2;
int b = 6;
String str = "Hello!";
%>
<%!
public int sum(int a, int b){
return a+b;
}
%>
<%
out.println("a="+ a + "<br/>");
out.println("sum = " + sum(1,5) + "<br/>");
%>
- 표현식 <% %>에서 변수를 선언하는 것과 다르지 않지만 메소드를 작성할 수 있다는 점이 다름
<%-- 변수 및 메소드 선언 --%>
<%!
int a;
int b;
public int sum(int a, int b) {
return a + b;
}
%>
<%-- 자바 코드 삽입 --%>
<%
a = 10;
b = 20;
out.println(sum(a, b));
%>
4. 표현식
<%= %>
- 변수 또는 메소드의 결과값을 출력
- 자바 코드를 삽입하는 것보다 더 간단하게 출력 가능
- 변수나 메소드를 사용할 때 세미콜론을 사용하지 않음 → 코드 간의 구분을 해줄 수 없기 때문에 하나의 변수나 메소드만 간단히 삽입할 때 사용
<%-- 변수 및 메소드 선언 --%>
<%!
int a;
int b;
public int sum(int a, int b) {
return a + b;
}
%>
<%-- 자바 코드 삽입 --%>
<%
a = 10;
b = 20;
%>
<%-- 표현식을 사용해 출력 --%>
표현식의 결과값은 <%= sum(a,b) %> 입니다. <br/>
<%-- 스크립트릿(자바 코드 삽입)을 사용해 출력 --%>
스크립트릿의 결과값은 <% out.println(sum(a,b)); %> 입니다.
5. 스크립트릿
<% %>
- 자바 코드를 삽입하기 위한 태그
- 기존 자바 언어를 동일하게 사용할 수 있음
- 자바 언어를 사용해서 JSP 태그를 구성하기 위해 가장 많이 쓰이는 태그
Reference
'STUDY' 카테고리의 다른 글
CSS | display:none VS visibility:hidden의 차이 (0) | 2022.06.22 |
---|---|
JavaScript | indexOf 함수로 특정 문자(위치) 찾기 (0) | 2022.05.24 |
JavaScript | ajax를 사용한 상태에서 특정 td 태그에 css 주기 (0) | 2022.05.23 |
JAVA | 예외처리 (Exception) (0) | 2022.04.28 |
JavaScript | prop(), attr() (0) | 2022.04.26 |