Spring 타일즈(Tiles) 설정하기

매니·2022년 7월 20일
0

스프링 타일즈

  • 반복적으로 사용되는 정보(페이지)를 한곳에 모아둔 프레임워크
  • 화면 기본 구성 레이아웃 템플릿을 정의하고 상속을 통해 구조 재사용이 용이

라이브러리 추가

pom.xml 파일로 들어갑니다.

<properties>
	<!-- tiles -->
	<org.apache.tiles-version>3.0.8</org.apache.tiles-version>
</properties>

저는 3.0.8 버전을 사용하기 때문에 pom.xml 에 라이브러리를 추가해줍니다.

JSP 구성

저는 간단하게 header.jsp footer.jsp main.jsp 를 만들어 구성하겠습니다.

tiles-defs.xml

webapp/WEB-INF/spring 안에 tiles-defs.xml 파일을 생성해줍니다.

저는 상단 header과 하단 footer 그리고 메인페이지로 이루어져있는 타일즈 설정을 할 것 입니다.

가장 먼저 기본에 될 layout.jsp를 설정하고 그 밑으로 header, body, footer 를 설정합니다.

그리고 .* 를 통해 body의 페이지를 자연스럽게 바꿀 수 있도록 설정합니다.

body에 올 페이지가 실질적인 페이지인 셈 입니다.

servlet-context.xml

그 다음으로 servlet-context.xml 에서 타일즈 설정을 해줄겁니다.

	<!-- 타일즈 환경 설정 -->
    <beans:bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    	<beans:property name="definitions">
    		<beans:list>
    			<beans:value>/WEB-INF/spring/tiles-defs.xml</beans:value>
    		</beans:list>
    	</beans:property>
    </beans:bean>
	
	<!-- 타일즈 뷰 -->
	<beans:bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
		<beans:property name="order" value="1" />
		<beans:property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
		<beans:property name="viewNames" value=".*" />
	</beans:bean>	
	<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<beans:property name="order" value="2" />
		<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:bean>

타일즈 뷰 에 쓰인건 뷰 리졸버라고 하며, 뷰 리졸버는 사용자에게 결과를 랜더링하여 보여주기 위해 사용 됩니다.

UrlBasedViewResolver

  • 뷰 리졸버의 구현체로 특별한 맵핑 정보 없이 의미상 view 이름을 URL로 사용한다.
  • view 이름과 실제 view 자원과의 이름이 같을 때 사용한다.

InternalResourceViewResolver

  • 웹 어플리케이션의 war 파일 내의 포함된 뷰 템플릿을 찾는다.
  • 뷰 템플릿의 경로는 논리적 뷰 이름에 접두어와 접미어를 붙여 구성한다.

order = 1 을 주어 우선순위가 타일즈가 되게끔 설정해줍니다.

페이지 구성

<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>

loyout.jsp 를 설정해줍니다!

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<div>
    <div>
		book 홈 화면 입니다.
    </div>
</div>

main.jsp 입니다

이런식으로 header, footer 전부 설정해줍니다.

비록 디자인적인 부분을 신경쓰지 못했지만 정상적으로 타일즈 설정이 완료되었다는걸 볼 수 있습니다.


이렇게 스프링 타일즈 설정이 완료 되었습니다!

차근차근 설정하여 프로젝트를 진행해보려고 합니다.

profile
성장중 🔥

0개의 댓글