목차
-
kr.spring.config=> AppConfig
-
WEB-INF=>tiles-def =>
-
WEB-INF=>views=>template=>header.jsp,menu.jsp,footer.jsp
-
views/template=> layout.jsp
-
views=>main_view.jsp
-
src/main/java=>kr.spring.tiles.controller => TilesController
-
TileController.java의 return "main";
-
tilesdef.xml의 <definition name="main" ~~~>
-
과 같은 main으로 일치해야된다.
-
TilesController 내용추가
-
tilesdef.xml 내용추가
-
views=>company_view.jsp
-
TilesController 내용추가
-
tilesdef.xml 내용추가
-
views=>product_view.jsp
ch12에서 사용한 application.yml을 src/main/resources에 복붙
kr.spring.config=> AppConfig
package kr.spring.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesView;
import org.springframework.web.servlet.view.tiles3.TilesViewResolver;
@Configuration
public class AppConfig implements WebMvcConfigurer{
@Bean
public TilesConfigurer tilesConfigurer() {
final TilesConfigurer configurer = new TilesConfigurer();
//해당 경로에 tiles.xml 파일을 넣음(타일스 설정파일을 넣기 위해서 경로를 지정)
configurer.setDefinitions(new String[] {"/WEB-INF/tiles-def/tilesdef.xml"});
configurer.setCheckRefresh(true);
return configurer;
}
@Bean
public TilesViewResolver tilesViewResolver() {
final TilesViewResolver tilesViewResolver = new TilesViewResolver();
tilesViewResolver.setViewClass(TilesView.class);
return tilesViewResolver;
}
}
WEB-INF=>tiles-def =>
tilesdef.xml
0.00MB
<?xml version="1.0" encoding="UTF-8" ?>
<!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="main" template="WEB-INF/views/template/layout.jsp">
<put-attribute name="title" value="Spring Tiles Example"/>
<put-attribute name="header" value="/WEB-INF/views/template/header.jsp"/>
<put-attribute name="menu" value="/WEB-INF/views/template/menu.jsp"/>
<put-attribute name="body" value="/WEB-INF/views/main_view.jsp"/>
<put-attribute name="footer" value="/WEB-INF/views/template/footer.jsp"/>
</definition>
</tiles-definitions>
WEB-INF=>views=>template=>header.jsp,menu.jsp,footer.jsp
footer.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<div align="center" style="background:yellow;">
© Spring Tiles Example
</div>
header.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<h2 align="center">Spring Tiles Example!</h2>
menu.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<ul>
<li><a href="main.do">main</a></li>
<li><a href="company.do">회사소개</a></li>
<li><a href="product.do">제품소개</a></li>
</ul>
views/template=> layout.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><tiles:getAsString name="title"/></title>
</head>
<body>
<table style="width:100%">
<tr height="100" valign="middle" bgcolor="#FFFFFF">
<td colspan="2"><tiles:insertAttribute name="header"/></td>
</tr>
<tr height="500">
<td width="15%" valign="top">
<tiles:insertAttribute name="menu"/>
</td>
<td width="85%" align="center">
<tiles:insertAttribute name="body"/>
</td>
</tr>
<tr>
<td colspan="2"><tiles:insertAttribute name="footer"/></td>
</tr>
</table>
</body>
</html>
views=>main_view.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<b>Main page Body</b>
src/main/java=>kr.spring.tiles.controller => TilesController
package kr.spring.tiles.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TilesController {
@RequestMapping("/")
public String init() {
return "redirect:/main.do";
}
@RequestMapping("/main.do")
public String viewMain() {
return "main"; //Tiles 식별자
}
}
TileController.java의 return "main";
tilesdef.xml의 <definition name="main" ~~~>
과 같은 main으로 일치해야된다.

TilesController 내용추가
@RequestMapping("/company.do")
public String viewCompany() {
return "company"; //Tiles 식별자
}
tilesdef.xml 내용추가
<definition name="company" extends="main"> <!-- main을 상속받는다. -->
<put-attribute name="title" value="회사소개"></put-attribute>
<put-attribute name="body" value="/WEB-INF/views/company_view.jsp"/>
</definition>
views=>company_view.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
회사소개 내용

TilesController 내용추가
@RequestMapping("/product.do")
public String viewProduct() {
return "product"; //Tiles 식별자
}
tilesdef.xml 내용추가
<definition name="product" extends="main"> <!-- main을 상속받는다. -->
<put-attribute name="title" value="제품소개"/>
<put-attribute name="body" value="/WEB-INF/views/product_view.jsp"/>
</definition>
views=>product_view.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
제품소개 내용

'쌍용교육(JAVA) > SpringBoot' 카테고리의 다른 글
쌍용교육 -JSP수업 90일차 ch15SpringPage (0) | 2024.06.25 |
---|---|
쌍용교육 -JSP수업 89일차 ch14SpringThymeleadf(2) (0) | 2024.06.25 |
쌍용교육 -JSP수업 88일차 ch14SpringThymeleadf (0) | 2024.06.24 |
쌍용교육 -JSP수업 86일차 SpringBoot(1) (0) | 2024.06.21 |
쌍용교육 -JSP수업 85일차 SpringBoot[ch12SpringMybatisBoot] (0) | 2024.06.21 |
ch12에서 사용한 application.yml을 src/main/resources에 복붙
kr.spring.config=> AppConfig
package kr.spring.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesView;
import org.springframework.web.servlet.view.tiles3.TilesViewResolver;
@Configuration
public class AppConfig implements WebMvcConfigurer{
@Bean
public TilesConfigurer tilesConfigurer() {
final TilesConfigurer configurer = new TilesConfigurer();
//해당 경로에 tiles.xml 파일을 넣음(타일스 설정파일을 넣기 위해서 경로를 지정)
configurer.setDefinitions(new String[] {"/WEB-INF/tiles-def/tilesdef.xml"});
configurer.setCheckRefresh(true);
return configurer;
}
@Bean
public TilesViewResolver tilesViewResolver() {
final TilesViewResolver tilesViewResolver = new TilesViewResolver();
tilesViewResolver.setViewClass(TilesView.class);
return tilesViewResolver;
}
}
WEB-INF=>tiles-def =>
tilesdef.xml
0.00MB
<?xml version="1.0" encoding="UTF-8" ?>
<!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="main" template="WEB-INF/views/template/layout.jsp">
<put-attribute name="title" value="Spring Tiles Example"/>
<put-attribute name="header" value="/WEB-INF/views/template/header.jsp"/>
<put-attribute name="menu" value="/WEB-INF/views/template/menu.jsp"/>
<put-attribute name="body" value="/WEB-INF/views/main_view.jsp"/>
<put-attribute name="footer" value="/WEB-INF/views/template/footer.jsp"/>
</definition>
</tiles-definitions>
WEB-INF=>views=>template=>header.jsp,menu.jsp,footer.jsp
footer.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<div align="center" style="background:yellow;">
© Spring Tiles Example
</div>
header.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<h2 align="center">Spring Tiles Example!</h2>
menu.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<ul>
<li><a href="main.do">main</a></li>
<li><a href="company.do">회사소개</a></li>
<li><a href="product.do">제품소개</a></li>
</ul>
views/template=> layout.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><tiles:getAsString name="title"/></title>
</head>
<body>
<table style="width:100%">
<tr height="100" valign="middle" bgcolor="#FFFFFF">
<td colspan="2"><tiles:insertAttribute name="header"/></td>
</tr>
<tr height="500">
<td width="15%" valign="top">
<tiles:insertAttribute name="menu"/>
</td>
<td width="85%" align="center">
<tiles:insertAttribute name="body"/>
</td>
</tr>
<tr>
<td colspan="2"><tiles:insertAttribute name="footer"/></td>
</tr>
</table>
</body>
</html>
views=>main_view.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<b>Main page Body</b>
src/main/java=>kr.spring.tiles.controller => TilesController
package kr.spring.tiles.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TilesController {
@RequestMapping("/")
public String init() {
return "redirect:/main.do";
}
@RequestMapping("/main.do")
public String viewMain() {
return "main"; //Tiles 식별자
}
}
TileController.java의 return "main";
tilesdef.xml의 <definition name="main" ~~~>
과 같은 main으로 일치해야된다.

TilesController 내용추가
@RequestMapping("/company.do")
public String viewCompany() {
return "company"; //Tiles 식별자
}
tilesdef.xml 내용추가
<definition name="company" extends="main"> <!-- main을 상속받는다. -->
<put-attribute name="title" value="회사소개"></put-attribute>
<put-attribute name="body" value="/WEB-INF/views/company_view.jsp"/>
</definition>
views=>company_view.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
회사소개 내용

TilesController 내용추가
@RequestMapping("/product.do")
public String viewProduct() {
return "product"; //Tiles 식별자
}
tilesdef.xml 내용추가
<definition name="product" extends="main"> <!-- main을 상속받는다. -->
<put-attribute name="title" value="제품소개"/>
<put-attribute name="body" value="/WEB-INF/views/product_view.jsp"/>
</definition>
views=>product_view.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
제품소개 내용

'쌍용교육(JAVA) > SpringBoot' 카테고리의 다른 글
쌍용교육 -JSP수업 90일차 ch15SpringPage (0) | 2024.06.25 |
---|---|
쌍용교육 -JSP수업 89일차 ch14SpringThymeleadf(2) (0) | 2024.06.25 |
쌍용교육 -JSP수업 88일차 ch14SpringThymeleadf (0) | 2024.06.24 |
쌍용교육 -JSP수업 86일차 SpringBoot(1) (0) | 2024.06.21 |
쌍용교육 -JSP수업 85일차 SpringBoot[ch12SpringMybatisBoot] (0) | 2024.06.21 |