Thymeleafテンプレートファイルをデフォルトのsrc/main/resources/templates
に配置すると問題なく動作します。ディレクトリの名前をmytemplates
と変更したいときそれは動作しません。SpringブートでJava設定のThymeleafテンプレートディレクトリを変更できない
私はは、テンプレートの場所を見つけることができません受信:アプリケーションの起動を とき/テンプレート/(いくつかのテンプレートを追加したり、Thymeleafの設定を確認してください)警告:クラスパスを。
私はホームページをポイントすると、私はorg.thymeleaf.exceptions.TemplateInputException取得:エラー解消テンプレート「インデックス」を、テンプレートが存在しないか、または構成されたテンプレートのリゾルバエラーのいずれかによってアクセス可能ではないかもしれません。私が間違っているのは何
package com.zetcode.conf;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Description;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.thymeleaf.spring4.SpringTemplateEngine;
import org.thymeleaf.spring4.view.ThymeleafViewResolver;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Bean
@Description("Thymeleaf template resolver serving HTML 5")
public ClassLoaderTemplateResolver templateResolver() {
ClassLoaderTemplateResolver tres = new ClassLoaderTemplateResolver();
tres.setPrefix("classpath:/mytemplates/");
tres.setSuffix(".html");
tres.setCacheable(false);
tres.setTemplateMode("HTML5");
tres.setCharacterEncoding("UTF-8");
return tres;
}
@Bean
@Description("Thymeleaf template engine with Spring integration")
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver());
return templateEngine;
}
@Bean
@Description("Thymeleaf view resolver")
public ViewResolver viewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
viewResolver.setCharacterEncoding("UTF-8");
viewResolver.setCache(false);
viewResolver.setOrder(1);
return viewResolver;
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index");
}
}
:
私は、次のJavaの設定を使用できますか?
なぜそれがうまくいかないのかというヒントがありました。しかし、私はそれを働かせることができませんでした。スプリングブートは同じエラーメッセージを表示し続けます。 (setCheckExistence()メソッドはありません) –
最後に、それを動作させました。 –