출처: https://88240.tistory.com/122 [shaking blog]
스프링 부트에 web 의존성을 추가하고 localhost:80XX 로 접근하면
기본적으로 resources 폴더에 있는 static 에 위치한 index.html 파일을 읽게된다.
예를 들어, resources > static > assets > img > slide_3.jpg 를 가져올 때 src는 이렇게 작성하면 불러올 수 있다.
<img src="/assets/img/slide_3.jpg" alt="" width="40" height="40" class="rounded-circle"></a>
편하기는 하지만 나는 resources > templates 에 있는 html을 가져오고 싶었다. 왜냐면 모든 페이지에 들어갈 nav를 분리하고 싶었기 때문이다. (너무 코드가 길어지기 때문에 필수라고 생각한다!)
구글로 검색을 해보다가 괜찮은 해결방법이 있어 시도 했더니 되었지만, 이상하게도 타임리프가 먹지 않았다.
package com.phl.cocolo.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MvcConfiguration implements WebMvcConfigurer {
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry){
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/templates/", "classpath:/static/");
}
}
<div class="nav_html"></div>
<script type="text/javascript">
$(document).ready(function(){
$(".nav_html").load("/base/nav.html")
});
</script>
나는 resources > templates > base > nav.html 을 가져왔다.
정말 잘 가져와 진다. 하지만 타임리프로 조건문을 쓴 구문은 왜인지 적용이 되지 않는다. 아무래도 잘 모르겠어서 선생님께 물어봐야겠다.