Spring 프로젝트를 새로 시작하는 도중 오류를 발견했다
반갑지만 반갑지 않은 오류여 .. ☆
org.thymeleaf.exceptions.TemplateInputException:
Error resolving template [hello],
template might not exist or might not be accessible by any of the configured Template Resolvers
at ~~
thymeleaf 오류가 발생했다.
사실 html 파일 내부에서 thymeleaf를 사용하기 위해 설정중에 오류가 나서
그것 때문인 줄 알았는데, 아니었다.
<html xmlns:th="http://www.thymeleaf.org">
상단 html 태그에 thmyeleaf를 써주겠다는 내용을 남겨야 한다.
하지만 문제는 이 것이 아니었다.
html 파일의 위치를 엉뚱한 곳에 잡았더라 ..
@Controller
로 설정된 파일과 연결하기 위해서는 Model
로 데이터를 주고받기 때문에,
resources
폴더 안에 있는 templates
폴더 아래에 두어야 한다.
static
폴더 안에는 오로지 정적인 파일만 동작하게 된다. (맞나?)
그런데 내가 .. Controller에서 Model로 값을 받아와야 하는 html 파일을
static 폴더 안에 넣어버렸다. 이 무슨 허무한 짓인가..
그래서 static
폴더 안에 있던 html 파일을 templates
폴더 안으로 옮겨주었다.
@Controller
로 동작하는 파일 안에서 String을 return 하게 되면
가져오려는 html 파일 명을 동일하게 불러주어야 한다.
(@RestController라면 또 다른 것으로 기억)
서버와 통신하기 위해서, 다시 말해 Model로 값을 받아오려는 html 파일은
반드시 resources
- teamplates
아래에 위치시켜야 한다.
또한 thymeleaf를 사용하기 위해서 html파일 안의 html 태그에 적어주자 !
지겹다 지겨와 .. 또 실수를 했다.
강의를 들으면서 다시 spring boot 프로젝트를 진행하고 있는데,
아무래도 git과 연동해서 commit 기록을 남겨두는 편이 좋을 것 같아서
그리고 github에 올려두고 관리하면 좋을 것 같아서 연동하는 와중에 설정을 하나 하지 않았다.
그래서 github에 application.properties 파일이 그대로 올라갔다 ..
사실 아직 application.properties 파일에 아무런 내용도 적지 않아서
문제가 될 부분은 없으나 이후에 사용할 때는 반드시 해당 파일을 가려야 하므로 지금 설정해두려고 한다.
우선 깃허브에서 application.properties 파일을 삭제했다.
아직 이런 저런 branch가 없어서 바로 main 브랜치에 내용이 올라가도록 설정했다.
다음으로 사용하는 IntelliJ로 돌아와서 업데이트 된 사항을 pull 했다.
그럼 로컬에서 application.properties 파일이 보이지 않는다.
(삭제한 내용을 pull 해왔기 때문에)
이제 .gitignore 파일에 application.properties 파일의 경로를 추가하고, application.properties 파일을 만들어준다.
로 시도했는데, 실수 한 점이 있어서 진행되지 않았다.
우선 첫 번째로 실수한 건 .gitignore
파일을 잘못 찾은 것 ..
그리고 두 번째로 실수한 건 .gitignore
파일이 업데이트 되기 전에 다시 application.properties
파일을 만들어버려서 그냥 두 번 올린 사람이 되었다.
그래서 다시 방법을 정리하고자 한다.
로컬이든, 깃허브든 우선 application.properties 파일을 지운다.
로컬에 application.properties 파일이 삭제되었는지 확인한다.
(깃허브에서 했다면 내용을 pull 해와야 반영된다.)
.gitignore
파일에 application.properties 파일 경로를 추가한다.
/src/main/resources/application.properties
.gitignore
파일 변경 사항을 먼저 commit 한다. (무조건 선 반영)
그리고 나서 application.properties
파일을 새로 생성한다.
이렇게 되면 새로 만들어진 application.properties
파일은 색상이 비활성화 된 것 처럼 보인다. (텍스트에 약간의 투명도 처리)
이런 방법으로 실수로 올라간 application.properties
파일 처리를 할 수 있다.
제일 좋은 점은 github에 올리기 전에 .gitignore 파일을 먼저 건든 후에
전체 사항을 commit 하는 것이다.
어느정도 알고 있던 부분이라 기록하지 않아도 되는데,
다시 또 실수할까봐 리마인드 하겠다는 생각으로 간단하게 기록해 보았다.
새로운 프로젝트를 만들고 깃허브에 올릴 때는 이런 실수가 나오지 않길 바란다 ..