tiles 설정

boingboing·2023년 7월 18일
  1. tiles 라이브러리를 pom.xml에 추가
		<dependency>
		    <groupId>org.apache.tiles</groupId>
		    <artifactId>tiles-servlet</artifactId>
		    <version>3.0.8</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.tiles/tiles-jsp -->
		<dependency>
		    <groupId>org.apache.tiles</groupId>
		    <artifactId>tiles-jsp</artifactId>
		    <version>3.0.8</version>
		</dependency>	
  1. dispatcher Servlet
  • tiles를 사용할 수 있도록 spring 설저파일에 등록
  • ViewResolver는 등록한 순서대로 적용되므로 UrlBasedViewResolver가 먼저 적용되도록 order 값을 설정
  • tiles의 설정파일 위치: /WEB-INF/config/egovframework/springmvc/context-tiles.xml
<!-- 1. tiles 설정 파일에 대한 정보를 스프링에 등록 --> 
	<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
		<property name="definitions">
			<value>/WEB-INF/config/egovframework/springmvc/context-tiles.xml</value>
		</property>
	</bean>
	
<!-- 2. ViewResolver가 기본 jsp로 뷰를 만들기 않고 tiles 설정 파일을 기준으로 tiles뷰를 만들 수 있또록 정보 설정-->
	<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"
		p:order="1" p:viewClass="org.springframework.web.servlet.view.tiles3.TilesView" />
  1. tiles 설정 파일을 작성
  • 웹페이지와 연결될 context-tiles.xml를 정의
<?xml version="1.0" encoding="UTF-8"?> <!-- cvc-elt.1: Cannot find the declaration of element 'tiles-definitions'. -->
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<tiles-definitions>
	<definition name="sample_layout" templateExpression="/WEB-INF/jsp/egovframework/layouts/layout.jsp">
		<put-attribute name="header" expression="/WEB-INF/jsp/egovframework/layouts/header.jsp" />
		<put-attribute name="footer" expression="/WEB-INF/jsp/egovframework/layouts/footer.jsp" />
</tiles-definitions>
  1. 3번에서 정의한 템플릿을 적용할 jsp 문서 작성

https://haerong22.tistory.com/57

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

너무 좋은 글이네요. 공유해주셔서 감사합니다.

답글 달기