일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Spring Boot
- SpringBoot
- oracle
- Core Java
- IntelliJ
- Exception
- 설정
- Thymeleaf
- AJAX
- JavaScript
- PostgreSQL
- Docker
- myBatis
- Tomcat
- 문서
- git
- jpa
- Python
- STS
- ubuntu
- Source
- Eclipse
- error
- MSSQL
- 오픈소스
- spring
- MySQL
- JDBC
- Open Source
- maven
- Today
- Total
헤르메스 LIFE
[Thymeleaf] You don't need to put the layout:fragment/data-layout-fragment attribute into the <head> section - the decoration process will automatically copy the <head> section of your content templates into your layout page. 본문
[Thymeleaf] You don't need to put the layout:fragment/data-layout-fragment attribute into the <head> section - the decoration process will automatically copy the <head> section of your content templates into your layout page.
헤르메스의날개 2023. 6. 18. 01:13다음과 같은 WARN 도 발생되었습니다.
내용은 " layout:fragment/data-layout-fragment 속성을 <head> 섹션에 넣을 필요가 없다. decoration 프로세스가 당신의 layout 페이지의 content templates 의 <head> 섹션에 을 자동으로 복사할 것이다." 정도 일 것 같습니다.
WARN 23-06-17 23:30:439[http-nio-9999-exec-1] [1;35m[▶ nz.net.ultraq.thymeleaf.layoutdialect.fragments.FragmentProcessor.defaultCall ◀][0;39m[47]: - You don't need to put the layout:fragment/data-layout-fragment attribute into the <head> section - the decoration process will automatically copy the <head> section of your content templates into your layout page.
원본 Source는 아래와 같습니다.
basic.html
<!DOCTYPE html>
<html lang="ko" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head th:replace="fragments/header :: main-head"> </head>
<body th:replace="fragments/body :: main-body"> </body>
</html>
header.html
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head th:fragment="main-head">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<th:block layout:fragment="title"></th:block>
<link rel="stylesheet" th:href="@{/css/default.css}" />
<link rel="stylesheet" th:href="@{/css/common.css}" />
<link rel="stylesheet" th:href="@{/css/content.css}" />
<link rel="stylesheet" th:href="@{/css/button.css}" />
<th:block layout:fragment="add-css"></th:block>
</head>
</html>
이렇게 개발되어 있던 Source 였습니다.
아래와 같이 변경합니다.
basic.html
<!DOCTYPE html>
<html lang="ko" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<link rel="stylesheet" th:href="@{/css/default.css}" />
<link rel="stylesheet" th:href="@{/css/common.css}" />
<link rel="stylesheet" th:href="@{/css/content.css}" />
<link rel="stylesheet" th:href="@{/css/button.css}" />
</head>
<body th:replace="fragments/body :: main-body"> </body>
</html>
header.html 파일은 삭제했습니다.
header.html 파일의 아래 구문도 삭제합니다.
<th:block layout:fragment="title"></th:block>
<th:block layout:fragment="add-css"></th:block>
이 구문은 아래의 Source와 매칭될 내용이 였습니다.
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="layout/basic">
<th:block layout:fragment="title">
<title>리스트 페이지</title>
</th:block>
... 생략...
이 내용은 아래와 같이 변경됩니다.
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{layout/basic}">
<head>
<title>리스트 페이지</title>
</head>
... 생략 ...
오류의 내용을 번역한 바를 다시 확인 해 보겠습니다.
" layout:fragment/data-layout-fragment 속성을 <head> 섹션에 넣을 필요가 없다. decoration 프로세스가 당신의 layout 페이지의 content templates 의 <head> 섹션에 을 자동으로 복사할 것이다." 정도 일 것 같습니다.
해당 페이지를 다시 열어보면 오류는 사라지고, 페이지 소스 보기를 하면 다음과 같이 변경되어 있습니다.
<!DOCTYPE html>
<html lang="ko" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<link rel="stylesheet" href="/css/default.css" />
<link rel="stylesheet" href="/css/common.css" />
<link rel="stylesheet" href="/css/content.css" />
<link rel="stylesheet" href="/css/button.css" />
<title>리스트 페이지</title>
</head>
basic.html 영역에 <title></title> 이 추가된 내용이 확인 되실겁니다. "자동으로 복사된다" 라는 의미로 생각됩니다.