* JSP 태그 : JSP 코드 내에 JAVA 코드를 삽입하여 사용할 수 있게 해주는 태그
* JSP 태그의 종류
# 지시자 태그
<%@ page 태그 %>
보통 JSP 페이지 맨 상단에 위치 하며 해당 페이지의 전체적인 속성을 지정
- 엔코딩이나 콘텐츠 타입을 지정한다.
- 사용할 JAVA파일이 있을때 import 하여 JSP페이지에서 사용 할 수 있게한다.
<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8" %>
<%@ page import="java.util.*" %>
<%@ include 태그 %>
[<jsp:include> 액션태그처럼 JSP 액션 태그를 사용하는 경우는
다른 JSP 파일을실행한 후 결과를 현재 위치에 포함하는 방식이지만
아래의 <%@ include file = "" %>
include 디렉티브는 다른 파일 내용을 아예 가져와서 붙인 다음 하나의 파일처럼
통으로 JSP파일을 java파일로 변환 및 컴파일 하는 방식이다. ]
중간에 다른 JSP 페이지를 삽입할 때 사용하며 어느 부분이든
넣고 싶은 곳에 사용하면 된다.
상대 경로로 파일 위치를 지정해주어야 한다.
( 상위 위치 ' ../ ' , 같은 경로 ' . ' , 하위경로 ' / ' )
<body>
<%@ include file="../inc/header.jsp" %>
<div id="uiPage">
<%@ include file="../inc/sidebar.jsp" %>
</div>
</body>
<%@ taglib 태그 %>
JSTL 태그 라이브러리를 사용하기 위한 JSP 태그
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
# 선언부(Declaration) 태그
<%! %>
JAVA 페이지처럼 이 태그 안에서는 자바 전역 변수 및 함수를 선언 할 수 있다.
보통 해당 페이지에서 공통적으로 필요한 JAVA 함수가 있을 때 사용한다.
운영하며 전역변수는 잘 사용할 일이 거의 없었다. 스크립트릿에서 거의 지역변수를 지정해 사용 했다.
<!-- 공백을 없애주는 간단한 예시 -->
<%!
public String rtnName(String name) {
name = name.replace(" ","");
return name;
}
%>
# 스크립트릿 (Scriptlet) 태그
<% %>
JAVA 코드를 실행 할 수 있게 하는 태그다.
지역변수 선언, 연산, 제어문, 출력문등 다 스크립트릿 안에서 사용 할 수 있다. (함수선언은 안됨)
HTML 태그 중간 중간에 심어서 사용도 가능하다.
JSP에 심는 JAVA 코드이기때문에 이 스크립트릿을 최대한 줄이기 위해
스프링 같이 프레임워크를 사용할 때는
JSTL을 사용하는 경우가 많다.
<%
String a = "a";
String b = "b";
for(int i=0; i<10; i++){
out.println("==TEST==" + a + "-" + b);
}
%>
# 표현식 태그 (Expression)
<%= %>
변수의 값이나 함수의 결과값을 표현할때 사용한다.
HTML 태그 사이에 들어가게 표현 가능하다.
<%
String ab = "ab";
%>
<div>
<h2><%= ab %></h2>
</div>
'Java' 카테고리의 다른 글
No converter found for return value of type: class java.util.HashMap (Json converter 에러) (0) | 2023.01.11 |
---|---|
[Java] 날짜&시간 포맷 설정 - SimpleDateFormat (0) | 2023.01.05 |
Excel POI 사용법 (0) | 2022.10.20 |
[JSTL] 특정 문자열 포함 찾기: fn:contains / fn:containsIgnoreCase / fn:indexOf (0) | 2022.10.07 |
[Java] HttpServletRequest - URL,URI 값 추출하기 (0) | 2021.09.08 |