[JSP] JSP Action Tag - 표준 액션 태그

2022. 11. 9. 16:21·📗 self-study/📗 KH정보교육원 당산지원

 

더보기

JSP Action Tag 중 표준 액션 태그에 대해 알아보자

 

 

JSP를 이루는 구성인자

🕐 JSP 스크립팅 원소

JSP 페이지에서 자바 코드를 직접 기술할 수 있게 하는 기술

예) 선언문, 스크립틀릿, 표현식(출력식)


🕑 지시어

JSP 페이지 정보에 대한 내용을 표현한다거나 또 다른 페이지를 포함할 때 사용

예) page 지시어, include 지시어, taglib 지시어(라이브러리를 추가할 때 사용)


🕒 JSP 액션 태그

XML 기술을 이용해서 기존의 JSP 문법을 확장하는 기술을 제공하는 태그

(XML 태그는 반드시 시작 태그와 종료태그가 한 세트로 있어야만 함)
👉🏻 표준 액션 태그(Standard Action Tag)
  : JSP 페이지에서 바로 사용 가능한 태그 (별도의 라이브러리 연동이 필요 없음 == tablib 지시어 사용할 필요 없음)
    표준 액션 태그는 모든 태그명 앞에 jsp: 이라는 접두어가 붙음 
👉🏻 커스텀 액션 태그(Custom Action Tag)
  : JSP 페이지에서 바로 사용 불가능한 태그 (별도의 라이브러리 연동이 필요한 => taglib 지시어 필요함)
   커스텀 액션 태그는 모든 태그명 앞에 jsp: 이외의 다른 접두어가 붙음 (내가 지정한 접두어, 종류는 다양)
   제공되고 있는 대표적인 유용한 라이브러리인 JSTL 가 있음

 

 

 

 JSP Action Tag

👉🏻 XML 기술을 이용해서 기존의 JSP 문법을 확장시키는 기술을 제공하는 태그들

 

 

 

1. 표준 액션 태그

👉🏻 JSP 페이지에서 별도의 라이브러리 연동 없이 곧바로 사용 가능한 태그들
👉🏻 태그명 앞에 jsp: 이라는 접두어가 붙음

 

 

<include: 기존 화면의 해당 위치에 가져다 붙이기>

 

💻 index.jsp

	 <a href="views/2_StandardAction/01_include.jsp">01_jsp:include</a>

 

01_include.jsp, footer.jsp 생성

더보기

 

 

 

1) 기존의 include 지시어를 이용한 방식

👉🏻 include 하고 있는 페이지상에 선언되어 있는 변수를 현재 이 페이지에서도 사용 가능함

👉🏻 단, 현재 이 페이지에서 동일한 이름의 변수를 추가적으로 선언할 수 없음

 

💻 01_include.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>

	<h3>include</h3>
	
	<p>
		또 다른 페이지를 포함하고자 할 때 쓰이는 태그
	</p>
	
	<h4>1. 기존의 include 지시어를 이용한 방식</h4>
	
	<%@ include file="footer.jsp" %>
	<!-- 같은 폴더 내에 있으므로 파일명만 입력해도 됨! -->
	<br><br>
	
	특징: include 하고 있는 페이지상에 선언되어 있는 변수를 현재 이 페이지에서도 사용 가능함 <br>
	include한 페이지의 year 변수값 : <%= year %>
	
	단, 현재 이 페이지에서 동일한 이름의 변수를 추가적으로 선언할 수 없음 <br>
	
	<%
		String year = "2022";
		// Duplicate local variable year : 변수명 중복 오류
	%>

</body>
</html>

 

💻 footer.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.text.SimpleDateFormat, java.util.Date" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<%
		String year = new SimpleDateFormat("yyyy").format(new Date());
	%>

	Copyright © 1998-<%= year %> KINGODOG Information Educational Institute All Right Reserved
	<!-- 매년 해가 바뀔 때마다 직접적으로 년도를 바꾸는 것은 너무 귀찮음 -->

</body>
</html>

 

 

 

2) JSP 표준 액션 태그를 이용한 방식 (동적 include 방식)

👉🏻 반드시 시작 태그와 종료 태그를 같이 써야만 함 (XML 기술을 이용했으므로)

✔️ 중간 내용물이 없을 경우 슬래시로 종료 태그처럼 만들 수도 있음

 

💻 JSP 표준 액션 태그 방식 01_include.jsp

 	<h4>2. JSP 표준 액션 태그를 이용한 방식 (동적 include 방식 == 런타임 시(실행되는 도중에) 포함되는 형태 )</h4>
 	
 	<!-- 
 		반드시 시작 태그와 종료 태그를 같이 써야만 함 (XML 기술을 이용했으므로)
 	 -->
 	 
 	 <!-- <jsp:include page="footer.jsp"></jsp:include> -->
 	 <jsp:include page="footer.jsp" />
 	 <!-- 중간 내용물이 없을 경우 슬래시로 종료 태그로 만들 수도 있음! -->
 	 <br><br>
 	 
 	  특징1: include 하고 있는 페이지에 선언된 변수를 공유하지 않음 (즉, 동일한 이름의 변수 선언 가능) <br>
 	 
 	 <%
 	 	String year = "2022";
 	 %>
 	 
 	 특징 2: 페이지 포함 시 include 하는 페이지로 값을 전달할 수 있음 <br><br>
 	 
 	 <jsp:include page="footer.jsp">
 	 	<jsp:param name="test" value="Hello...?" />
 	 </jsp:include>
 	 
 	 <br>
 	 
 	 <jsp:include page="footer.jsp">
	 	<jsp:param name="test" value="GoodBye!" />
	 </jsp:include>

 

💻 footer.jsp

	<%
		String year = new SimpleDateFormat("yyyy").format(new Date());
	%>

	Copyright © 1998-<%= year %> KINGODOG Information Educational Institute All Right Reserved
	<!-- 매년 해가 바뀔 때마다 직접적으로 년도를 바꾸는 것은 너무 귀찮음 -->
	
	<br>
	
	test: ${ param.test }

 

 

 

<forward: url은  그대로이고 화면만 바꿔치기>

 

💻 index.jsp

	 <a href="views/2_StandardAction/02_forward.jsp">02_jsp:forward</a>

 

💻 02_forward.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>

	<h1>여기는 02_forward.jsp 페이지야</h1>
	<!-- 이 페이지의 url: http://localhost:8888/action/views/2_StandardAction/02_forward.jsp -->

	<jsp:forward page="footer.jsp" />
	<!-- forward의 특징상 url 주소는 같으나 화면만 바꿔치기되어 footer.jsp로 나옴! -->
	
</body>
</html>
더보기
forward 전
forward 후

 

 

 

2. 커스텀 액션 태그

👉🏻 JSP 페이지에서 바로 사용 불가능한 태그 (별도의 라이브러리 연동이 필요한 => taglib 지시어 필요함)

👉🏻 커스텀 액션 태그는 모든 태그명 앞에 jsp: 이외의 다른 접두어가 붙음 (내가 지정한 접두어, 종류는 다양)

👉🏻 제공되고 있는 대표적인 유용한 라이브러리인 JSTL 가 있음

저작자표시 비영리 변경금지 (새창열림)
'📗 self-study/📗 KH정보교육원 당산지원' 카테고리의 다른 글
  • [JSP Action Tag - 커스텀 액션 태그] JSTL Formatting Library
  • [JSP Action Tag - 커스텀 액션 태그] JSTL Core Library
  • [EL] EL의 연산자
  • [EL] EL의 개요와 기본 구문
천재강쥐
천재강쥐
  • 천재강쥐
    디버거도 버거다
    천재강쥐
  • 전체
    오늘
    어제
    • Category (467)
      • 진짜 너무 궁금한데 이걸 나만 몰라...? (0)
      • 💾 Portfolio (2)
      • 🐤 CodingTest (28)
        • Java (20)
        • ᕕ(ꐦ°᷄д°᷅)ᕗ❌ (5)
      • 🚀 from error to study (142)
        • AI (1)
        • Cloud (2)
        • DB (12)
        • Front-End (16)
        • Github (14)
        • Java (39)
        • Mac (7)
        • Normal (29)
        • Server (22)
      • 📘 certificate (44)
        • 📘 리눅스마스터1급 (1)
        • 📘⭕️ 정보처리기사 (40)
        • 📘⭕️ SQLD (3)
      • 📗 self-study (234)
        • 📗 inflearn (35)
        • 📗 생활코딩 (8)
        • 📗 KH정보교육원 당산지원 (190)
      • 🎨 Scoop the others (0)
        • 📖 Peeking into other people.. (0)
        • 🇫🇷 (0)
        • 📘⭕️ 한국사능력검정시험 심화 (11)
        • 오블완 (4)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.1
천재강쥐
[JSP] JSP Action Tag - 표준 액션 태그
상단으로

티스토리툴바