본문 바로가기
Spring

TemplateInputException: Error resolving template [/common/fragments/footer], template might not exist or might not be accessible by any of the configured Template Resolvers 예외 해결

by 코더 제이콥 2023. 8. 2.

1. 문제상황

EC2로 서버를 구동했을 때 예외가 터졌습니다. 로컬에서는 문제 없었는데 말이죠. 그리고 이상하게 특정 url에만 접근하면 위와 같은 예외가 터졌습니다.

org.thymeleaf.exceptions.TemplateInputException: Error resolving template [/common/fragments/footer], template might not exist or might not be accessible by any of the configured Template Resolvers (template: "user/home" - line 79, col 11)
        at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) ~[thymeleaf-3.1.1.RELEASE.jar!/:3.1.1.RELEASE]
        at org.thymeleaf.engine.TemplateManager.parseStandalone(TemplateManager.java:250) ~[thymeleaf-3.1.1.RELEASE.jar!/:3.1.1.RELEASE]
        at org.thymeleaf.standard.expression.FragmentExpression.resolveExecutedFragmentExpression(FragmentExpression.java:567) ~[thymeleaf-3.1.1.RELEASE.jar!/:3.1.1.RELEASE]

로컬 IDE에서는 아무런 문제가 없었는데요.

<th:block th:replace="~{/common/fragments/footer :: footer}"></th:block>

하지만 이전 포스팅에서 겪었던 일로 직감적으로 알 수 있었습니다. 경로에서 맨 앞에는 슬래쉬 "/"를 붙이면 안 됩니다. 수정하면 아래와 같습니다.

<th:block th:replace="~{common/fragments/footer :: footer}"></th:block>

다시 빌드해서 켜보니 정상적으로 작동했습니다.