Github : fragmentexam


IMPORTANT !!!


// https://mvnrepository.com/artifact/nz.net.ultraq.thymeleaf/thymeleaf-layout-dialect
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.3.0'


Controller
package com.example.fragmentexam;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class FragController {
@GetMapping("/")
public String index() {
return "index";
}
@GetMapping("/readlist")
public String readlist() {
return "readlist";
}
@GetMapping("/readdetail")
public String readdetail() {
return "readdetail";
}
}
layout.html
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
[header]
<th:block layout:fragment="content"></th:block>
[footer]
</body>
</html>
index.html
before
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
[index.html]
<p><a href="/readlist">readlist</a>
<p><a href="/readdetail">readdetail</a>
</body>
</html>
after
<html layout:decorate="~{layout}">
<div layout:fragment="content">
[index.html]
<p><a href="/readlist">readlist</a>
<p><a href="/readdetail">readdetail</a>
</div>
</html>
readlist.html
before
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
[readlist.html]
</body>
</html>
after
<html layout:decorate="~{layout}">
<div layout:fragment="content">
[readlist.html]
</div>
</html>
readdetail.html
before
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
[readdetail.html]
</body>
</html>
after
<html layout:decorate="~{layout}">
<div layout:fragment="content">
[readdetail.html]
</div>
</html>
