반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[JSP] JSP Action Tag (표준액션태그 - 정적, 동적 include방식) 본문

⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆/JSP

[JSP] JSP Action Tag (표준액션태그 - 정적, 동적 include방식)

yeonee 여니 2023. 7. 28. 20:31
728x90
반응형
SMALL

안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)

 

yeonee 블로그 : 네이버 블로그

예쁘고 맛있게 먹고 건강하게,강인하지만 온화하게 행하라. ※맛스타운스타일상 인스타 www.instagram.com/s2._.y25n ※맛집감성일상 유튜브https://youtube.com/channel/@S2_yeonee 티스토리https://yeoneeluv.tistory.co

blog.naver.com

 

 

* EL(Expression Language) 표현언어

기존에 사용했던 표현식(출력식) <%= name %>와 같이
JSP상에서 표현하고자 하는 값을 \${name}의 형식으로 표현해서 작성하는것

 

 

1. EL기본구문에 대해서 먼저 배워보기

* JSP Action Tag

XML기술을 이용해서 기존의 JSP문법을 확장시키는 기술을 제공하는 태그들
                JSP를 이루는 구성인자
		1. JSP 스크립팅 원소 : JSP페이지 내에서 자바코드를 직접 기술할수 있게 해주는 기술.
		2. 지시어 : JSP 페이지 정보에 대한 내용을 표현한다거나, 또다른 페이지를 포함할때 사용
		   EX) page 지시어, include 지시어, taglib 지시어.
		 
		3. JSP 액션 태그 :ㅣ
		   - 표준 액 션 태 그 : 추가 설치없이 JSP페이지 내에서 바로 사용 가능
		   	               모든 태그명 앞에 jsp : 접두어가 붙는다.
		   - 커스텀 액션 태그  : jsp 페이지 내에서 바로 사용 불가능 (연동이 필요함)
		   		        커스텀 액션태그는 모든 태그명 앞에 또다른 접두어가 붙는다.
		   		        제공되고 있는 대표적인 라이브러리가(JSTL)

 

1. 표준액션태그

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

 

* include

또 다른 페이지를 포함하고자 할 때 쓰이는 방식

>> 특징 : include하고있는 페이지 상에 선언되어있는 변수를 현재 페이지에서 사용이 가능한데, 동일한 이름의 변수를 선언할 수가 없다.

 

<01_include.jsp내용>

<h3>include</h3>
<p>또 다른 페이지를 포함하고자 할 때 쓰이는 방식</p>

<h4>1. 기존의 include지시어를 이용한 방식(정적 include방식 == 컴파일 시 포함되는 형태)</h4>

<%-- <%@include file="footer.jsp" %>
<br><br>

<%String contextPath = "/main"; %>는 
  위의 <%@include file="footer.jsp" %> 에서 이미
       " <%
            String contextPath = request.getContextPath();
         %>
         현재 경로 : <%= contextPath %> "
         부분을 변수로 쓰고 있기 때문에 새로이 동일한 이름의 변수를 선언할 수 없어서 오류남


특징 : include하고있는 페이지 상에 선언되어있는 변수를 현재 페이지에서 사용이 가능한데, 동일한 이름의 변수를 선언할 수가 없다 <br>
현재 경로 :: <%=contextPath %><br> --%>
<!-- 이것은 지시어를 활용한 include방식이다. -->

<hr>

<h4>2. jsp표준 액션 태그를 이용한 방식(동적 include방식 == 실제 실행 시 포함되는 형태)</h4>

<jsp:include page="footer.jsp"/>
<br><br>

특징 1 : include하고있는 페이지에 존재하는 변수를 공유하지 않음 <!-- 좀더 독립적으로 작동하고,  그래서 좀더 안전한 편이다 -->
즉 동일한 이름의 변수 선언 가능<br>
<%String contextPath = request.getContextPath(); %>
<%=contextPath %><br>

특징 2 : 포함 시 include하는 페이지로 값을 전달시킬 수도 있다<br>
<jsp:include page="footer.jsp">
  <jsp:param name="test" value="test!"/> <!-- test라는 키값으로 test!라는 문자열이 넘어가는 것이다. -->
</jsp:include>

<jsp:include page="footer.jsp">
  <jsp:param name="test" value="boo!"/>
</jsp:include>

 

< footer.jsp 내용 >

        <%
		String contextPath = request.getContextPath();
	%>

	<br>
	
	현재 경로 : <%= contextPath %>

	<br>
	test :::: ${param.test }  <!-- param이란 문자열에 데이터가 담긴것이다. -->

 

< 02_forward.jsp 내용 >

	여기는 forward페이지임!
	
	<!-- forward -->
	
	<jsp:forward page="footer.jsp" />

	<!-- forward 되어서 안에 작성한 내용이 화면에 출력되지 않음 -->

 

<index.jsp 내용>

<h3>1. 표준액션태그</h3>
<p>
    JSP페이지에서 별도의 라이브러리 연동 없이 곧바로 사용 가능함 <br>
    태그 앞에 jsp : 접두어가 붙음
</p>

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

<a href="views/2_StandardAction/02_forward.jsp">02_forward</a> <br>

<%-- <jsp:forward page="footer.jsp" /> --%>

 

<화면 출력모습>

 

 

728x90
반응형
LIST