簡體   English   中英

Thymeleaf和Spring4配置

[英]Thymeleaf and Spring4 configuration

我一直在嘗試在正在玩的網絡中利用Thymeleaf,但似乎不太了解配置/設置。

以前,我曾使用web文件夾來存儲資產和jsp / html等,但是現在由於views文件夾已移至資源而顯得多余。 這個准確嗎?

我的結構看起來像這樣:

src-main-java-various controllers/models etc
src-main-resources-Meta-inf - persistence.xml
src-main-resources-spring-config.xml
src-main-resources-views-test.html etc etc
src-main-webapp-assets-css - now in the wrong place?
src-main-webapp-WEB-INF-html/jsp = now irrelevant?

抱歉,這似乎是一個愚蠢的問題,我似乎找不到合適的教程,其中沒有沖突的信息。

我基本上是在嘗試使用百里香葉而不是jsp文件來建立一個簡單的Web應用程序。 任何朝着正確方向的指針都將受到感激。

到目前為止,我有一個ConfigClass包含

   @Bean
    public ViewResolver viewResolver() {
        ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
        templateResolver.setTemplateMode("XHTML");
        templateResolver.setPrefix("views/");
        templateResolver.setSuffix(".html");
        SpringTemplateEngine engine = new SpringTemplateEngine();
        engine.setTemplateResolver(templateResolver);

        ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
        viewResolver.setTemplateEngine(engine);
        return viewResolver;
    }

這似乎是一切背后的關鍵,但是由於它來自教程,所以我不確定什么是好的/不好的/不正確的/不好的做法等等。

我通常放在資源文件夾下的html文件是用於電子郵件模板的-這些不是您的Web應用程序的視圖。 視圖應保留在webapp/WEB-INF文件夾下。

為了從webapp/WEB-INF加載視圖(從ServletContext加載,就像其他通常的SpringMVC應用程序一樣),請使用ServletContextTemplateResolver 如果您的模板位於類路徑中(例如,電子郵件模板),則使用ClassLoaderTemplateResolver

這是我的生產配置

@Bean
public ViewResolver viewResolver() {
   ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver();
   templateResolver.setTemplateMode("HTML5");
   templateResolver.setPrefix("/WEB-INF/html/");
   templateResolver.setSuffix(".html");
   SpringTemplateEngine engine = new SpringTemplateEngine();
   engine.setTemplateResolver(templateResolver);

   ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
   viewResolver.setTemplateEngine(engine);
   return viewResolver;
}

我的目錄

src-main-java --> Java classes (Spring controllers, etc.)
src-main-resources --> xml configs
src-main-webapp-css --> CSS files
src-main-webapp-js --> Javascript files
src-main-webapp-WEB-INF-views --> HTML5 files

嘗試使用Spring Boot ,它可以處理所有默認配置和依賴項。

Spring Boot從這里開始,使用Thymeleaf在pom文件中添加以下依賴項

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot配置其余的一切。

熟悉后即可覆蓋默認配置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM