Archive

JSP - Action Tags(2)

|

JSP - Action Tags(2)


  1. include 액션태그

    • include가 위치한 곳에 지정한 페이지를 포함시킬 수 있다

    • 각각의 파일들은 개별적으로 컴파일된 후 include 액션 태그에 의해 합쳐진다

    • flush 속성은 false로 많이 쓰며, 지정한 페이지 실행시 버퍼의 내용을 제거한다

    • <jsp:include file=”포함할 페이지이름” flush=”false”>

      <jsp:param name=”변수명” value=”값” />

      </jsp:include>

    • JSP 모듈화 예제

    <!-- temp/template/template.jsp -->
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <%
    	// 속성을 이용한 동적처리 방법
    	String pageTitle = (String) request.getAttribute("PAGETITLE");
    	// 파라미터를 이용한 동적처리 방법
    	String contentPage = request.getParameter("CONTENTPAGE");
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="EUC-KR">
    <title><%= pageTitle %></title><!--타이틀 동적처리-->
    </head>
    <body>
    <table width="400" border="1" cellpadding="2" cellspacing="0">
    <tr>
         <td colspan="2">
             <jsp:include page="/temp/module/top.jsp" flush="false" />
         </td>
     </tr>
     <tr>
         <td width="100" valign="top">
             <jsp:include page="/temp/module/left.jsp" flush="false" />
         </td>
         <td width="300" valign="top">
             <!-- 내용부분 : 시작 -->
             <!-- 페이지의 내용부분을 동적처리-->
             <jsp:include page="<%=contentPage %>" flush="false" />
             <!-- 내용부분 : 끝 -->
         </td>
     </tr>
     <tr>
         <td colspan="2">
             <jsp:include page="/temp/module/bottom.jsp" flush="false" />
         </td>
     </tr>
    </table>
    </body>
    </html>
    
    <!-- temp/module/top.jsp -->
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    상단 메뉴 :
    <a href="#">HOME</a>
    <a href="#">INFO</a>
    
    <!-- temp/module/left.jsp -->
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    좌측 메뉴:
    
    <!-- temp/module/bottom.jsp -->
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    하단 메뉴: 소개 | 도움말 | 약관 | 사이트맵
    
    <!-- temp/template/info_view.jsp : 내용부분 -->
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
    	<td>제품번호</td> <td>1234</td>
    </tr>
    <tr>
    	<td>가격</td> <td>10,000원</td>
    </tr>
    </table>
    <jsp:include page="infoSub.jsp" flush="false" >
    	<jsp:param value="A" name="type"/>
    </jsp:include>
    
    <!-- temp/template/infoSub.jsp -->
     <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
     <%
         String type = request.getParameter("type");
         if(type != null) {
     %>
     <br>
     <table width="100%" border="1" cellpadding="0" cellspacing="0">
         <tr>
             <td>타입</td>
             <td><b><%= type %></b></td>
         </tr>
    	<tr>
    		<td>특징</td>
    		<td>
    		<% if(type.equals("A")){ %>
    			강한 내구성
    		<% } else if(type.equals("B")) { %>
    			뛰어난 대처 능력
    		<% } %>
    		</td>
    	</tr>
     </table>
    <% } %>
    
    <!-- temp/mainPage.jsp -->
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <% request.setAttribute("PAGETITLE", "정보보기"); %>
    <jsp:forward page="/temp/template/template.jsp">
    	<jsp:param value="info_view.jsp" name="CONTENTPAGE"/>
    </jsp:forward>
    
    • 실행화면

    실행


  2. include 액션태그와 include 지시어의 비교

    비교



참고 자료


KG 아이티뱅크 강의 자료

처음해보는 JSP&Servlet 웹 프로그래밍