私は既存のアプリケーションをSpring 5.0.0.M3にマイグレーションしています。& Spring Boot 2.0.0.M3。 Spring Bootでは、Thymeleafのスターターもインポートしています。Spring Boot 2 Thymeleafの設定 'templates'を無視する
このアプリケーションには、2つのテンプレートフォルダmails
とtemplates
があります。電子メールテンプレートに以下の設定を指定すると、templates
フォルダは無視されます。例えば私はこのフォルダのテンプレートのためにFileNotFoundException
を得ています。
@Configuration
public class ThymeleafConfiguration {
@SuppressWarnings("unused")
private final Logger log=LoggerFactory.getLogger(ThymeleafConfiguration.class);
@Bean
@Description("Thymeleaf template resolver serving HTML 5 emails")
public ClassLoaderTemplateResolver emailTemplateResolver() {
ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver();
emailTemplateResolver.setPrefix("mails/");
emailTemplateResolver.setSuffix(".html");
emailTemplateResolver.setTemplateMode("HTML5");
emailTemplateResolver.setCharacterEncoding(CharEncoding.UTF_8);
emailTemplateResolver.setOrder(1);
return emailTemplateResolver;
}
}
私は何の違いを行っていないなど2、10、へsetOrder
パラメータを設定しようとしました。リゾルバメソッドを削除すると、templates
フォルダが認識されますが、mails
フォルダは認識されません。
何が起こっている可能性がありますか?私が理解
お返事をありがとう:あなたはあなたのビュー名は任意のメソッドから返された場合、それはのようにすることができ
ResourceHandler。私はこれがこれを実装する一つの方法だと思います。私は 'spring-boot-starter-thymeleaf:2.0.0.M3'でなぜ' templates'フォルダーが 'mails'フォルダーが指定されても無視されるのか、もっと興味があります。以前のバージョンでは、私は上記の私のコードに従って 'mails'テンプレートリゾルバを指定する必要があり、' templates'フォルダはデフォルトで含まれていました。新しいテンプレートリゾルバに 'templates'フォルダを追加すると、' mails'フォルダは無視されます。つまり、テンプレートリゾルバは1つだけ注入されます。これは2.xの「機能」かバグですか? – Jerry