공부용

Tiles 본문

Tiles는 이제 front에서 웹 페이지를 조각으로 관리하는 역할을 한다.

 

pom.xml

tiles 라이브러리 추가

		<!-- 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-api</artifactId>
			<version>2.2.2</version>
		</dependency>
		
		<dependency>
			<groupId>org.apache.tiles</groupId>
			<artifactId>tiles-servlet</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-template</artifactId>
			<version>2.2.2</version>
		</dependency>

 

/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml

	<beans:bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
		<beans:property name="definitions" value="/WEB-INF/tiles.xml"></beans:property>
	</beans:bean>
	
	<beans:bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
		<beans:property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"></beans:property>
	</beans:bean>

tiles.xml

<tiles-definitions>

	<definition name="*.*" template="/WEB-INF/views/layout/layout.jsp">
		<!-- asset -->
		<put-attribute name="asset"
			value="/WEB-INF/views/inc/asset.jsp"></put-attribute>
		<!-- header -->
		<put-attribute name="header"
			value="/WEB-INF/views/inc/header.jsp"></put-attribute>
		<!-- nav1(title) -->
		<put-attribute name="nav1"
			value="/WEB-INF/views/inc/nav1.jsp"></put-attribute>
		<!-- nav2(myInfo) -->
		<put-attribute name="nav2"
			value="/WEB-INF/views/inc/nav2.jsp"></put-attribute>
		<!-- footer -->
		<put-attribute name="footer"
			value="/WEB-INF/views/inc/footer.jsp"></put-attribute>
		<!-- content -->
		<put-attribute name="content"
			value="/WEB-INF/views/{1}/{2}.jsp"></put-attribute>
	</definition>

</tiles-definitions>

 

<tiles-definitions>

 <definition name="*.*"> //파싱할 주소 -> *.* -> {1}.{2} 로 사용가능하다.

 </definition>

</tiles-defintions>

 

//front view 페이지

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>    
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <!-- 타이들은 각자의 페이지에서 넣기! -->
    <!-- <title>Document</title> -->

	<tiles:insertAttribute name="asset"></tiles:insertAttribute>

</head>
<body>

    <!-- ########################## header 시작 ########################## -->
    <tiles:insertAttribute name="header"></tiles:insertAttribute>
    <!-- ########################## header 끝 ########################## -->

    <!-- ########################## 좌측 nav 시작 ########################## -->
	<tiles:insertAttribute name="nav1"></tiles:insertAttribute>
    <!-- ########################## 좌측 nav 끝 ########################## -->
    
    <!-- ########################## 상단 nav 시작 ##########################-->
	<tiles:insertAttribute name="nav2"></tiles:insertAttribute>
    <!-- ########################## 상단 nav 끝 ########################## -->


    <!-- ########################## content 시작 ##########################-->
    <tiles:insertAttribute name="content"></tiles:insertAttribute>
    <!-- ########################## content 끝 ##########################-->


    <!-- ########################## footer 시작 ##########################-->
	<tiles:insertAttribute name="footer"></tiles:insertAttribute>
    <!-- ########################## footer 끝 ##########################-->

</body>
</html>

<%@ taglib prefix="tiles uri="http://tiles.apache.org/tags-tiles" %> 로 사용하게끔 선언한 뒤에

<tiles:insertAttributs name=""><tiles:insertAttribute> 로 name을 호출받아 사용한다.

'2020.10 ~ 2021.03 취업성공패키지 > 홈페이지(Spring)' 카테고리의 다른 글

MyBatis  (0) 2021.04.14
초기설정  (0) 2021.04.14
Comments