У меня есть приложение Spring Spring, которое использует JSP для представлений. Я хотел бы постепенно продвигать технологию просмотра до Тимелеафа.Настройте два шаблонных преобразователя для JSP и Thymeleaf
Вид распознаватель 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;
}
Это приводит к «org.thymeleaf.exceptions.TemplateInputException: Ошибка разрешения шаблона "домой", шаблон не может существовать или может не быть доступным ни одним из настроенных шаблонов Resolvers ", например, если он не пытается использовать второй вариант, который является jsp view-respover, который сможет разрешить« домашний ». Я попытался также установить порядок отображения в вашем примере, без каких-либо последствий. – yglodt
@yglodt Вы настраиваете префиксы и суффиксы для вашего конкретного случая на обоих разрешениях? – marknorkin
проверить мой обновленный вопрос. – yglodt