2016-06-14 19 views
1

私はThymeleafでindex.htmlがプロセスであることを取得する方法を考え出す苦労しています:Thymeleafに静的フォルダのHTMLを処理させるにはどうすればいいですか?

src/main/resources/static 

Thymeleafは設定なしでtemplatesディレクトリに完璧に動作します:

src/main/resources/templates 

環境ですMavenを使ったSpring Boot。それはYeomanを使ってindex.html、CSS、JSを分泌させる。これらのファイルがすべて同じディレクトリツリーに存在する必要があります。

IDKこれは十分に情報ですが、以下の私のThymeleafConfigの場合:

package org.jeremu.config; 

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.web.servlet.ViewResolver; 
import org.thymeleaf.spring4.SpringTemplateEngine; 
import org.thymeleaf.spring4.view.ThymeleafViewResolver; 
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; 
import org.thymeleaf.templateresolver.ITemplateResolver; 

import java.util.HashSet; 
import java.util.Set; 

@Configuration 
public class ThymeleafConfig { 

    @Bean 
    public SpringTemplateEngine templateEngine() { 
     SpringTemplateEngine templateEngine = new SpringTemplateEngine(); 
     Set<ITemplateResolver> resolvers = new HashSet<ITemplateResolver>(); 
     resolvers.add(defaultWebTemplateResolver()); 
     resolvers.add(emailTemplateResolver()); 
     templateEngine.setTemplateResolvers(resolvers); 
     return templateEngine; 
    } 

    @Bean 
    public ClassLoaderTemplateResolver defaultWebTemplateResolver(){ 
     ClassLoaderTemplateResolver webTemplateResolver = new ClassLoaderTemplateResolver(); 
     webTemplateResolver.setPrefix("static/"); 
     webTemplateResolver.setSuffix(".html"); 
     webTemplateResolver.setTemplateMode("HTML5"); 
     webTemplateResolver.setCharacterEncoding("UTF-8"); 
     webTemplateResolver.setOrder(2); 
     return webTemplateResolver; 
    } 

    @Bean 
    public ClassLoaderTemplateResolver emailTemplateResolver(){ 
     ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver(); 
     emailTemplateResolver.setPrefix("templates/email/"); 
     emailTemplateResolver.setSuffix(".html"); 
     emailTemplateResolver.setTemplateMode("HTML5"); 
     emailTemplateResolver.setCharacterEncoding("UTF-8"); 
     emailTemplateResolver.setOrder(1); 

     return emailTemplateResolver; 
    } 

    @Bean 
    ViewResolver viewResolver(){ 
     ThymeleafViewResolver resolver = new ThymeleafViewResolver(); 
     resolver.setTemplateEngine(templateEngine()); 
     resolver.setOrder(1); 
     return resolver; 
    } 
} 
+0

FWIW。 thymeleaf»thymeleaf-spring4 2.1.4. Spring Boot Thymeleaf Starterでデフォルトになっているリリース»1.3.0.RELEASE –

答えて

1

あなたapplication.propertiesファイルでこの設定を使用してみてください:私は組織を使用してい

spring.thymeleaf.prefix=classpath:/static/ 
+0

返信ありがとうございますが、残念ながらそれは私のためには機能しませんでした。私はspring.thymeleaf.prefix = classpath:/ static/spring.thymeleaf.prefix = "classpath:/ static /" spring.thymeleaf.prefix =/static/spring.thymeleaf.prefix = static –

+0

を試してみました。 Thymeleafテンプレートは、Spring Boot 1.3.0を使用してsrc/main/resources/staticから処理されています。https://github.com/kanderson450/stackoverflow-q37823580 –

+1

ああ、うわー! IndexControllerが '" forward:/index.html ";'を返すようにしましたが、 'index'に変更したときにはうまくいきました!どうもありがとうございます! –

関連する問題