2015-10-17 50 views
1

我一直在試圖利用Thymeleaf在我玩的網絡,似乎無法讓我的頭在配置/設置周圍。Thymeleaf和Spring4的配置

此前我已經使用web文件夾存儲資產和jsp/html等,但現在似乎是冗餘的,因爲視圖文件夾已移到資源。這是否準確?

我的結構看起來是這樣的:

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? 

道歉,如果這似乎是一個愚蠢的問題,我似乎無法找到沒有在這矛盾的信息像樣的教程。

我基本上試圖設置一個簡單的web應用程序使用百里香葉而不是jsp文件。任何指向正確方向的指針都會受到感謝。

到目前爲止我有一個包含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; 
    } 

這似乎是一切背後的關鍵,但它從一個教程的我不知道什麼是好/壞的/不正確/糟糕的做法等。

回答

0

嘗試Spring Boot它也會照顧所有的默認配置和依賴關係。

Spring Boot入門這裏,使用Thymeleaf添加下面的依賴在POM文件

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

春季啓動配置其餘的一切。

一旦你熟悉了它,你可以覆蓋默認配置

1

我通常資源文件夾下把對於電子郵件模板的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