스프링의 타일즈(Tiles)

스프링의 타일즈(Tiles)

1. pom.xml

(전략)

<!– tiles  –>
  <dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-core</artifactId>
   <version>2.2.2</version>
  </dependency>

  <dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-jsp</artifactId>
   <version>2.2.2</version>
  </dependency>

  <dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-api</artifactId>
   <version>2.2.2</version>
  </dependency>

  <dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-servlet</artifactId>
   <version>2.2.2</version>
  </dependency>

(후략)

2. WEB-INF/web.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app version=”2.5″ xmlns=”http://java.sun.com/xml/ns/javaee
 xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance
 xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd“>

 <!– Processes application requests –>
 <servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
  
 <servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>*.do</url-pattern>
 </servlet-mapping>
 
 <filter>
     <filter-name>encodingFilter</filter-name>
     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
     <init-param>
        <param-name>encoding</param-name>
        <param-value>EUC-KR</param-value>
     </init-param>
  </filter>

  <filter-mapping>
     <filter-name>encodingFilter</filter-name>
     <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

3. WEB-INF/tiles.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE tiles-definitions PUBLIC
        “-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN”
        “http://tiles.apache.org/dtds/tiles-config_2_0.dtd“>
<tiles-definitions>
 <definition name=”layout” template=”/WEB-INF/tiles/layout.jsp”>
  <put-attribute name=”header” value=”/WEB-INF/tiles/header.jsp”></put-attribute>
  <put-attribute name=”menu” value=”/WEB-INF/tiles/menu.jsp”></put-attribute>
  <put-attribute name=”body” value=”/WEB-INF/tiles/body.jsp”></put-attribute>
  <put-attribute name=”footer” value=”/WEB-INF/tiles/footer.jsp”></put-attribute>
 </definition>

 <definition name=”*/*” extends=”layout”>
  <put-attribute name=”body” value=”/WEB-INF/{1}/{2}.jsp”></put-attribute>
 </definition>
</tiles-definitions>

4. WEB-INF/dispatcher-servlet.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans
   xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance
   xmlns:aop=”http://www.springframework.org/schema/aop
   xmlns:context=”http://www.springframework.org/schema/context
   xmlns:p=”http://www.springframework.org/schema/p
   xmlns:task=”http://www.springframework.org/schema/task
   xmlns:tx=”http://www.springframework.org/schema/tx
   xmlns:util=”http://www.springframework.org/schema/util
   xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
      http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd
      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
      http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd“>

     <context:annotation-config/>

     <context:component-scan base-package=”com.*”/>

     <bean id=”viewResolver”
       class=”org.springframework.web.servlet.view.UrlBasedViewResolver”
       p:requestContextAttribute=”requestContext”
       p:viewClass=”org.springframework.web.servlet.view.tiles2.TilesView”>
    </bean>

    <bean id=”tilesConfigurer”
      class=”org.springframework.web.servlet.view.tiles2.TilesConfigurer”
      p:definitions=”/WEB-INF/tiles.xml”></bean>
</beans>