복붙노트

[SPRING] Thymeleaf 봄 부팅 프로젝트 내부의 템플릿을 검색 할 수 없습니다

SPRING

Thymeleaf 봄 부팅 프로젝트 내부의 템플릿을 검색 할 수 없습니다

내가있는 내가 Thymeleaf를 사용하려면, 내 봄 부팅 응용 프로그램에서 다음 프로젝트 구조를 가지고

projectName
    -Gradle-Module1(Spring boot module)
        -build
        -src
            -main
            -resources
                -templates
                    index.html
        build.gradle
    -Gradle-Module2
        ...
    build.gradle
    ...

하지만 스프링 부팅 내 템플릿 디렉토리를 찾을 수 없습니다 경고를 보여주는

Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration)

PS : 나는 @EnableAutoConfiguration를 사용하고

내 컨트롤러 코드에서 내가 좋아하는 일을하고 있어요

@Controller
@EnableAutoConfiguration
public class BaseController {

    @RequestMapping(value = "/")
    public String index() {
        return "index.html";
    }
}

및 index.html 파일은 세계 안녕하세요 인쇄합니다.

그래서 일반적으로는 (내 생각 같은 Gradle을 모듈로) / SRC / 자원 / 템플릿 내부를 들여다해야하지만, 어떻게 든 그것을 찾을 수 없습니다.

나는 액세스 localhost를하려고 할 때 : 8080 나는, 템플릿이 존재하지 않을 수 있습니다 템플릿 "index.html을"을 해결 오류 오류 아래에 무엇입니까 또는 구성 템플릿 리졸버의에 의해 접근하지 않을 수도 있습니다 내가 놓친 게 있나요?

모든 포인터에 감사드립니다.

감사.

해결법

  1. ==============================

    1.다음과 같이 Thymeleaf을 구성해야합니다 :

    다음과 같이 Thymeleaf을 구성해야합니다 :

    @Configuration
    public class ThymeleafConfig {
        @Bean
        public SpringResourceTemplateResolver templateResolver() {
            SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
            templateResolver.setCacheable(false);
            templateResolver.setPrefix("classpath:/templates/");
            templateResolver.setSuffix(".html");
            return templateResolver;
        }
    
        @Bean
        public SpringTemplateEngine templateEngine() {
            SpringTemplateEngine springTemplateEngine = new SpringTemplateEngine();
            springTemplateEngine.addTemplateResolver(templateResolver());
            return springTemplateEngine;
        }
    
        @Bean
        public ThymeleafViewResolver viewResolver() {
            ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
            viewResolver.setTemplateEngine(templateEngine());
            viewResolver.setOrder(1);
            return viewResolver;
        }
    }
    

    봄 문서는 기본 @Configuration 클래스에 @EnableAutoConfiguration 주석을 추가 할 것을 권장합니다.

    또한 당신이 잘못 프로젝트 구조가 보인다, 일반적인 패키지의 계층 구조는 다음과 같습니다

    src
      |- main
          |- java
          |- resources
              |- static
              |- templates
      |- test
    

    이 경우 템플릿은 SRC / 메인 / 자원 / 템플릿에 있지 SRC / 자원 / 템플릿 /에있는 것입니다.

  2. ==============================

    2.당신은 파일 이름을 반환해야합니다. .html 중에서없이 계란

    당신은 파일 이름을 반환해야합니다. .html 중에서없이 계란

    @RequestMapping(value = "/")
       public String index() {
       return "index";
    }
    
  3. ==============================

    3.

    @GetMapping("/")
    public String index() {
        return "index";
    }
    
  4. from https://stackoverflow.com/questions/42947454/thymeleaf-cannot-detect-templates-inside-spring-boot-project by cc-by-sa and MIT license