본문 바로가기
spring

spring framewrok MVC - 2 ( 부제 : 타일즈( tiles ) 적용 )

by devante 2014. 10. 28.



** Tiles 적용을 위해 관련 사항을 Maven dependency 를 이용하여 땡겨오기;;


pom.xml

 <!-- Tiles -->
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-core</artifactId>
    <version>2.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-jsp</artifactId>
    <version>2.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-api</artifactId>
    <version>2.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-servlet</artifactId>
    <version>2.1.2</version>
</dependency> 

























저장하고 나면 jar 파일을 알아서 땡겨온걸 볼수있다;;




webapp/WEB-INF/spring/appServlet/servlet-context.xml 파일 수정



<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <beans:property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
    <beans:property name="prefix" value="/WEB-INF/views/" />
    <beans:property name="suffix" value=".jsp" />
    <beans:property name="order" value="2" />
</beans:bean>

<!-- tilesView -->
 <beans:bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
  <beans:property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"></beans:property>
  <beans:property name="order" value="1" />
 </beans:bean>
 
 <beans:bean id="tileConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
  <beans:property name="definitions">
   <beans:list>
    <beans:value>/WEB-INF/views/tiles/tiles.xml</beans:value>
   </beans:list>
  </beans:property>
 </beans:bean>

<context:component-scan base-package="com.spring.prede" />



이제 지정한 경로에 tiles.xml 추가


*** 이후 body 부분에서 사용할 파일들은 content - value 추가로 하나씩 설정하면됨 -_-

/WEB-INF/views/tiles/tiles.xml 

<!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>
<!--<start id="tile_template"/>-->
   <definition name="template"
               template="/WEB-INF/views/tiles-layout/layout.jsp">
     <put-attribute name="header"
                    value="/WEB-INF/views/tiles-layout/header.jsp" />
     <put-attribute name="footer"
                    value="/WEB-INF/views/tiles-layout/footer.jsp" />
   </definition>
<!--<end id="tile_template"/>-->
 
<!--<start id="tile_home"/>-->
   <definition name="home" extends="template">
     <put-attribute name="content" value="/WEB-INF/views/home.jsp" />
   </definition>  
<!--<end id="tile_home"/>-->
        
</tiles-definitions>


다음 -_- template 구성을 위한 jsp 파일들을 각각 추가


/WEB-INF/views/tiles-layout/footer.jsp

<%@page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="true" %>
<div style="width:800; height:400" align=center>
<h1>
    Eternal Winter .......
</h1>
</div>


*** webapp 의 /resources/ 폴더에 /img 폴더를 만들어서 배경써먹을 이미지 파일 하나 추가한 상태 -_-

/WEB-INF/views/tiles-layout/header.jsp

<%@page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://www.springframework.org/tags"%>
<%@ page session="true" %>

<img src="<s:url value="/resources" />/img/vincentbisschop.jpg" border="0" width="800" height="280" align=center/>


*** 화면 구성 차례로 header - content ( 바디부분 ) - footer 순으로 화면에 출력

/WEB-INF/views/tiles-layout/layout.jsp

<%@page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<html>
  <head>
    <title>Snake</title>
  </head>

  <body>
    <div id="container">
    <div><tiles:insertAttribute name="header"></tiles:insertAttribute></div>
    <div><tiles:insertAttribute name="content"></tiles:insertAttribute></div>
    <div><tiles:insertAttribute name="footer"></tiles:insertAttribute></div>
    </div>
  </body>
</html>


*** home.jsp 를 임의로 좀 수정 -_-

  역시나, webapp 의 /resources/ 폴더에 /css 폴더를 만들어서 이것저것 써먹을 css 파일 하나 추가한 상태 -_-

/WEB-INF/views/home.jsp

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page session="false" %>
<link type="text/css" rel="stylesheet" href="<s:url value="/resources" />/css/default.css" />
<head>
    <title>Home</title>
</head>
<div style="width:800; height:400" align=center>
<h1>
    WTH 
</h1>

<P>  The time on the server is ${serverTime}. </P>
</div>



일단은 완성 -_-






반응형

댓글