[英]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.