Spring

템플릿 라이브러리 (타일즈 뷰)

heejin424 2023. 2. 7. 12:54
728x90

jsp include방식

<%@ include file="../../resources/layout/header.jsp" %>

header.jsp파일을 생성하고 여러개의 페이지에 전부 하나씩 적용해주어야하는 단점이 있다,

이것을 보완하기 위해서 리졸버뷰의 타일즈세팅을 하면 웹페이지의 상단이나 하단메뉴와 같이 반복적으로 사용되는 부분들에 대한 코드를 분리해서 한 곳에서 관리를 가능하게해주는 프레임워크이다.

 

- 타일즈 라이브러리 사용방법

1. 타일즈를 통한 공통 뷰 모듈

<!–    타일즈    (jstl이    반드시    필요합니다)--> 
<dependency>
	<groupId>org.apache.tiles</groupId> 
	<artifactId>tiles-extras</artifactId> 
	<version>3.0.8</version>
</dependency> 

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

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

2. tiles.xml 파일 만들기

WEB-INF/tiles/tiles.xml

<beans:bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
	<beans:property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
	<beans:property name="order" value="1" /> 
</beans:bean>
<!-- 뷰리졸버    설정    -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
	<beans:property name="prefix" value="/WEB-INF/views/" />
	<beans:property name="suffix" value=".jsp" /> 
	<beans:property name="order" value="2" />
</beans:bean>

3. tiles.xml파일에서 템플릿의 모형을 정의

4. template.jsp파일 만들기

WEB-INF/tiles/template.jsp

각각의 화면 뷰가 들어갈 수 있는 선언을 해준다.

이 형식과 맞게끔 템플릿에 작성해야한다.
고정적으로 여러개 사용할 것을 뜯어온다.


템플릿을 적용하지않는 페이지 만들기

타일즈 설정(tiles.xml)에 직접 추가해야한다.

예시로 로그인페이지는 헤더와 푸터같이 공통적으로 사용하는 템플릿 적용을 취소하고 구현할 것이다.

controller에서 경로 설정을 한 뒤
템플릿 사용하지 않을 경로를 입력해준다.

728x90