spring 프로그램에서 layout을 추가하려는데 적용이 안되는 오류가 있었다. 아무리 실행해도 오류는 나지 않으면서 적용이 안 돼 너무 답답했다.
우선 build.gradle의 dependencies에
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'
를 추가해주었고,
templates의 html 파일들은 다음과 같은 상황이었다.
article/write.html
<html layout:decorate="~{global/layout}">
<div layout:fragment="content">
<!--대충 내용-->
</div>
</html>
global/layout.html
<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>SIMPLE</title>
</head>
<body>
<ul style="display: flex; gap: 20px;">
<li><a href="/article/write">글 쓰기</a></li>
<li><a href="/article/list">글 목록</a></li>
</ul>
<th:block layout:fragment="content"></th:block>
</body>
</html>
이 때 코드에는 문제가 없었고, dependencies 추가 후 우측 바의 코끼리를 통해 gradle 프로젝트를 reload하고 프로젝트의 out 파일을 통째로 삭제해주었다.
이후 프로젝트 새로고침을 하니 해결되었다.