멋쟁이v의 개발일지

[JSP] include 화면처리 본문

0년차/JAVA

[JSP] include 화면처리

멋쟁이v 2023. 4. 23. 16:23
728x90
320x100

[목차]


01. 중복된 코드 존재

💡
화면마다 중복되는 레이아웃 코드들이 존재한다. 1️⃣ 상단메뉴 2️⃣ 왼쪽메뉴 3️⃣ 하단메뉴 ➡️ index.jsp 에서 각각의 레이아웃 코드들을 3개로 나눠서 옴겨 놓는다.
  • 변경 전 index.jsp
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="EUC-KR">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css" href="<%= request.getContextPath() %>/css/main2.css" />
    </head>
    
    <body>
    /* top.jsp 이동 */
       <!-- Begin Wrapper -->
     <div id="wrapper">
         <!-- Begin Header -->
         <div id="header">
           상단 메뉴	<br/><br/>
           <a href="#">01 회원 가입</a>		 
           <a href="#">02 회원 조회</a>		 
           <a href="#">03 상품 등록</a>		 
           <a href="#">04 상품 조회</a>		 
    		 </div>
    		 <!-- End Header -->
    /* ------------------------------ */
    
    /* left.jsp 이동 */
    		 <!-- Begin Left Column -->
    		 <div id="leftcolumn">
    		       왼쪽 메뉴	<br/>
    		 </div>
    		 <!-- End Left Column -->
    		 
    		 <!-- Begin Right Column -->
    		 <div id="rightcolumn">
    /* ------------------------------ */
    
    	          index.jsp 화면입니다.	 
    
    /* hadan.jsp 이동 */
    		 </div>
    		 <!-- End Right Column -->
    		 <!-- Begin Footer -->
    		 <div id="footer">
    			   한국스마트정보교육원	
    	     </div>
    		 <!-- End Footer -->
       </div>
       <!-- End Wrapper -->
    /* ------------------------------ */
       
    </body>
    </html>

  • [코드예제] top.jsp
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <!-- Begin Wrapper -->
    <div id="wrapper">
          <!-- Begin Header -->
          <div id="header">
          상단 메뉴	<br/><br/>
          <a href="<%= request.getContextPath() %>/user/user_insert_form.jsp">01 회원 가입</a>		 
          <a href="<%= request.getContextPath() %>/user/user_list.jsp">02 회원 조회</a>		 
          <a href="#">03 상품 등록</a>		 
          <a href="#">04 상품 조회</a>		 
    </div>
    <!-- End Header -->

  • [코드예제] left.jsp
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <!-- Begin Left Column -->
    <div id="leftcolumn">
          왼쪽 메뉴	<br/>
    </div>
    <!-- End Left Column -->
    
    <!-- Begin Right Column -->
    <div id="rightcolumn">

  • [코드예제] hadan.jsp
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    		 </div>
    		 <!-- End Right Column -->
    		 <!-- Begin Footer -->
    		 <div id="footer">
    			   한국스마트정보교육원	
    	     </div>
    		 <!-- End Footer -->
       </div>
       <!-- End Wrapper -->

  • 변경 후 index.jsp
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="EUC-KR">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css" href="<%= request.getContextPath() %>/css/main2.css" />
    </head>
    
    <body>
    
    	          index.jsp 화면입니다.	 
    
       
    </body>
    </html>

02. include를 활용한 화면 처리

💡
<%@ include file=”경로” %> 경로에 있는 코드가 해당 위치에 있는 효과 ➡️ 중복되는 코드를 따로 모아둘 수 있다.
  • [코드예제] index.jsp
    <%@ page language="java" contentType="text/html; charset=EUC-KR"
        pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="EUC-KR">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css" href="<%= request.getContextPath() %>/css/main2.css" />
    </head>
    
    <body>
    /* 모든 jsp 파일도 index.jsp 화면 부분빼고 똑같이 수정 */
    
    <%@ include file="/module/top.jsp" %>
    <%@ include file="/module/left.jsp" %>
    
    	          index.jsp 화면입니다.	 
    
    <%@ include file="/module/hadan.jsp" %>
       
    </body>
    </html>


tag : #jsp #java #include #중복제거 #유지보수 #가독성


Uploaded by N2T

728x90
320x100
Comments