티스토리 뷰

1. pom.xml에서 tiles 를 추가해준다. (Maven tiles 추가)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
        <!--  tiles 시작 -->
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-extras</artifactId>
            <version>3.0.8</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-servlet</artifactId>
            <version>3.0.8</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-jsp</artifactId>
            <version>3.0.8</version>
        </dependency>
        <!-- tiles -->
 

2. 추가한뒤 메이븐 받기

 

프로젝트 우클릭 후  >

eclipse 

 

intellij

 

 

3. dispatcher-servlet 설정

servlet 경로

1
2
3
4
5
 
          p:viewClass="org.springframework.web.servlet.view.JstlView"
          p:prefix="/WEB-INF/jsp/egovframework" p:suffix=".jsp"/>
       
 

위와같이 초기 servlet 설정 부분을 아래와 같이 변경해준다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    <!-- tiles 설정 -->
    <bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
        <property name="order" value="1" />
    </bean>
    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
        <property name="definitions">
            <list>
                <value>/WEB-INF/tiles/tiles-layout.xml</value>
            </list>
        </property>
    </bean>
    <!--/tiles  -->
    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="2" 
          p:viewClass="org.springframework.web.servlet.view.JstlView"
          p:prefix="/WEB-INF/jsp/egovframework" p:suffix=".jsp"/>
          
 
 

tiles 설정 부분을 추가해주고 기존 p:order = "1"을 2로 바꿔준다. 

 

3. /WEB-INF/tiles/tiles-layout.xml 파일을 생성한다. 

구조

tiles-layout.xml 소스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN" "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
 
<tiles-definitions>
    <!-- 메뉴 탭 타일즈 -->
    <definition name="layouts-tiles"         template="/WEB-INF/tiles/tiles-layout.jsp">
        <put-attribute name="loadFile"        value="/WEB-INF/tiles/inc/loadFile.jsp" />
        <put-attribute name="header"           value="/WEB-INF/tiles/inc/header.jsp" />
        <put-attribute name="left"            value="/WEB-INF/tiles/inc/left.jsp" />
        <put-attribute name="body"           value=""/>
        <put-attribute name="footer"        value="/WEB-INF/tiles/inc/footer.jsp" />
    </definition>
 
    <definition name="*/*" extends="layouts-tiles">
        <put-attribute name="body" value="/WEB-INF/jsp/{1}/{2}.jsp" />
    </definition>
 
</tiles-definitions>
 
 

loadFile, header, left, footer 은 value에 있는 jsp파일을 사용하고 ( 헤더 푸터 메뉴 고정 )

body부분은 뿌려지는 방법대로 바뀌기 때문에 value="/" 로 설정해줍니다.

 

4. /WEB-INF/tiles/tiles-layout.jsp 파일을 생성한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles"  prefix="tiles"%>
<!DOCTYPE html>
<html>
<head>
    <tiles:insertAttribute name="loadFile"/>
</head>
<body>
<div id="wrap">
 
    <div id="nav"><tiles:insertAttribute name="header"/></div>
    <div id="left"><tiles:insertAttribute name="left"/></div>
    <div id="body"><tiles:insertAttribute name="body"/></div>
    <div id="footer"><tiles:insertAttribute name="footer"/></div>
 
</div>
</body>
</html>
 
 

tiles-layout.xml 에서 정의해놓은 파일들이 

tiles-layout.jsp 구조에 맞게 해당 위치로 들어갑니다.

 

 

 

5. 호출하기

1
2
3
4
5
6
7
8
9
@Controller
public class tilesTest {
 
    @RequestMapping(value = "/tiles/test.do")
    public String TilesTest() {
        return "tiles/test.tiles";
    }
}
 
 

위와 같이 tiles 테스트 컨트롤러를 만들었습니다. 

localhost:8080/tiles/test.do   

 

tiles-layout.xml

*/*.tiles 에 매핑되어 /WEB-INF/jsp/{1}/{2}.jsp 파일을 찾아가게 됩니다. 

 

구조

/WEB-INF/jsp/tiles/test.jsp 파일을 찾게 됩니다.

 

 

정상적으로 출력됨

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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
27 28 29 30 31
글 보관함