1
私はビュー用にJSPを使用する既存のSpring起動アプリケーションを持っています。私は視界技術をThymeleafに徐々に移行したいと考えています。JSPとThymeleaf用の2つのテンプレートリゾルバを設定する
JSPビューリゾルバがapplication.propertiesに設定されている:
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
JSPは次の場所にあります。
src/main/resources/META-INF/resources/WEB-INF/views/
がために、Thymeleafための第二のビューリゾルバを追加することが可能ですJSPとして存在しないビューは?したがって、ビューが要求されたときに、アプリケーションは両方のビューリゾルバを試行します。
編集
私も成功せず、次のように構成して試してみました:
@Bean
public InternalResourceViewResolver jspViewResolver() {
final InternalResourceViewResolver vr = new InternalResourceViewResolver();
vr.setPrefix("/META-INF/resources/WEB-INF/views/");
vr.setSuffix(".jsp");
vr.setViewClass(JstlView.class);
vr.setOrder(1);
return vr;
}
@Bean
public TemplateResolver templateResolver() {
final ServletContextTemplateResolver tr = new ServletContextTemplateResolver();
tr.setPrefix("templates/th/");
tr.setSuffix(".html");
tr.setTemplateMode("HTML5");
return tr;
}
@Bean
public SpringTemplateEngine templateEngine() {
final SpringTemplateEngine te = new SpringTemplateEngine();
// te.addTemplateResolver(jspViewResolver());
te.setTemplateResolver(templateResolver());
te.setMessageSource(databaseMessageSource);
return te;
}
@Bean
public ViewResolver viewResolver() {
final ThymeleafViewResolver vr = new ThymeleafViewResolver();
vr.setTemplateEngine(templateEngine());
vr.setOrder(2);
return vr;
}
上
また別の有用な答えテンプレートが存在しない場合があります自宅"、または"home"を解決することができるjsp view-respoverである2番目のオプションを試していないかのように、設定されたテンプレートリゾルバによってアクセスできない可能性があります。あなたの例では、ビューリゾルバの順序を何の効果もなく設定しようとしました。 – yglodt
@yglodt両方のリゾルバで特定のケースに接頭辞と接尾辞を設定しますか? – marknorkin
更新された質問をチェックしてください。 – yglodt