방탄소년단만 모델2
bts서블릿이 존재(BTSServlet)
근데 ModulizationServlet으로 일단 보냄
bts서블릿에서 버퍼를 플러쉬하지 않은 상태에서 forward를 include로 바꿨는데 코드를 바꾸지 않고 하는 방법 해볼거임
나머지는 모델1
기존에는 해당 jsp로 바로 넘어감
수정 후, ModulizationServlet.java에서 includepath 찾은 후 layout.jsp로 forward되는 방식
예시
<jsp:include path=""/>
or<%@ include file=""%>(Directiv)
orinclude방식을 통해 서버사이드 페이지 모듈화를 구현함으로써 중복코드 및 공통 랜더링 영역에 대한 처리가 가능하지만, 최근에는 model2 구조가 일반화됨에 따라 페이지 모듈화를 위해 기존의 include 방식보다 composite view pattern이나 Decorating view pattern등의 원리로 동작은 tiles나 sitemesh 등 여러가지 presentation framework 들이 사용되는 추세다.
하나하나 찾아다니면서 자원을 찾을필요가 없다.
배포작업
Apache Tiles 홈페이지
원체 쉽게 사용할 수 있는 프레임워크
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<tiles:insertAttribute name="preScript" />
</head>
<body>
<div id="topMenu">
<tiles:insertAttribute name="topMenu"/>
</div>
<div id="leftMenu">
<tiles:insertAttribute name="leftMenu"/>
</div>
<div id="contents">
<tiles:insertAttribute name="contents"/>
</div>
<div id="footer">
<tiles:insertAttribute name="footer"/>
</div>
</body>
</html>
<!-- tiles템플릿 1번. 템플릿 만든다. template.jsp 2번.definition 만든다 -->
<%@ taglib>
DTD Tiles 등록과정
window->Preferences -> xml-> xml Catalog -> User Spectcified Entries -> Add
Location에서 ""빼야했는데 캡쳐 잘못 햇음
edit에 들어가서 수정
Create XML File 과정에서
Create XML file from a DTD file 선택 후 Next
Select XML Catalog entry 선택하면
등록해놓은 tiles.apache Key가 있음
선택 후 완료
xml 파일 create 완료
타일즈에서 사용하는 커스텀태그 사용할 수 있다
-- tiles-template