y2on 2019. 1. 9. 22:01

0. layouts.xml 준비


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles
 Configuration 3.0//ENhttp://tiles.apache.org/dtds/tiles-config_3_0.dtd">
 
<tiles-definitions>
     <definition name="login.tiles" template="/WEB-INF/views/home.jsp">
    </definition>
<!-- 
<definition name="login.tiles" template="/WEB-INF/views/login/login.jsp">
</definition>
<definition name="bbslist.tiles" template="/WEB-INF/views/layouts-tiles.jsp">
    <put-attribute name="common" value="/WEB-INF/views/common/common.jsp"/>
    <put-attribute name="header" value="/WEB-INF/views/common/header.jsp"/>
    <put-attribute name="top_inc" value="/WEB-INF/views/common/top.jsp"/>
    <put-attribute name="top_menu" value="/WEB-INF/views/common/top_menu.jsp"/>
    <put-attribute name="left_main" value="/WEB-INF/views/common/left_bbslist.jsp"/>
    <put-attribute name="main" value="/WEB-INF/views/bbs/bbslist.jsp"/>
    <put-attribute name="bottom_inc" value="/WEB-INF/views/common/bottom.jsp"/>
</definition>
<definition name="bbswrite.tiles" extends="bbslist.tiles">
    <put-attribute name="main" value="/WEB-INF/views/bbs/bbswrite.jsp"/>
</definition>
-->
 
</tiles-definitions>
 
cs


20행 : 같은 템플릿 (layouts-tiles.jsp)을 사용할 경우(11행 , 22행 )extends

*템플릿으로 사용할경우 해당 jsp 파일에 추가

1
2
3
4
5
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
cs




1. xml 설정 


1.1 pom.xml 에 타일즈3 dependency 추가


1.2 servlet-context ( dispatcher servlet , sts : app servlet)  resolver 설정 , 레이아웃 위치 정의( 0번 연결)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- tiles 설정 : tiles 설정 -->
 
 <bean id="tilesConfigurer" class ="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
 
  <property name="definitions">
 
   <list>
 
    <value>/WEB-INF/views/layouts.xml</value>
 
   </list>
 
  </property>
 
 </bean>
 
 <!-- tiles 설정 "viewResolver 설정 -->
 
 <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
 
  <property name="requestContextAttribute" value="requstContext"/>
 
  <property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"></property>
 
 </bean>
cs



2. web.xml 에 appservlet경로 정의

스프링 셋팅때 되어있음


2. 컨트롤러 

1
2
3
4
5
@RequestMapping(value="login.do", method=RequestMethod.GET)
    public String login(Model model) {
        logger.info("KhMemberController login" + new Date());
        return "login.tiles";
    }
cs

4행 : tiles 로 이동




3. 뷰 생성

상단에 소스 추가

login.jsp

1
2
3
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
cs