<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>3.0.8</version>
</dependency>
@Configuration
public class TilesConfig {
@Bean(name="tilesConfigure")
public TilesConfigurer tilesConfigurer() {
final TilesConfigurer configurer = new TilesConfigurer();
configurer.setDefinitions(new String[]{"/WEB-INF/jsp/tiles/template/tilesdef.xml"});
configurer.setCheckRefresh(true);
return configurer;
}
@Bean(name="viewResolver")
public TilesViewResolver tilesViewResolver() {
TilesViewResolver resolver = new TilesViewResolver();
resolver.setViewClass(TilesView.class);
resolver.setOrder(0);
return resolver;
}
}
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/jsp/tiles/template/tilesdef.xml</value>
</list>
</property>
</bean>
<bean id="tilesViewResolver"
class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"
p:order="1" />
์์
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
<html>
<head>
<title><tiles:getAsString name="title" /></title>
</head>
<body>
<tiles:insertAttribute name="header" />
<tiles:insertAttribute name="menu" />
<tiles:insertAttribute name="body" />
<tiles:insertAttribute name="footer" />
</body>
</html>
์์
<tiles-definitions>
<definition name="base_layout"
template="/WEB-INF/jsp/tiles/template/layout.jsp">
<put-attribute name="title" value="titleName" type="string"/>
<put-attribute name="header" value="/WEB-INF/jsp/tiles/header.jsp" />
<put-attribute name="footer" value="/WEB-INF/jsp/tiles/footer.jsp" />
<put-attribute name="menu" value="/WEB-INF/jsp/tiles/menu.jsp" />
</definition>
<definition name="index" extends="base_layout">
<put-attribute name="body"
value="/WEB-INF/jsp/tiles/index.jsp" />
</definition>
<definition name="tiles/*/*" extends="base_layout">
<put-attribute name="body"
value="/WEB-INF/jsp/tiles/{1}/{2}.jsp" />
</definition>
</tiles-definitions>
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/")
public class IndexController {
@GetMapping(value= {"", "index"})
public String index() {
return "index";
}
}
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp