С режимом, указанным в application.properties
#spring.thymeleaf.mode=HTML
Intellij Run Debug работает нормально, но выполнение jar из командной строки получает следующее, когда браузер пытается открыть страницу:
2018-12-24 12: 16: 13.957 ОШИБКА --- [0.1-8080-exec-1] org.thymeleaf.TemplateEngine: [THYMELEAF] [http-nio-12 7.0.0.1-8080-exec-1]Шаблон обработки исключений "result-sm": режим шаблона "HTML" не был настроен 24 декабря 2018 12:16:14 org.apache.catalina.core.StandardWrapperValve вызывает SEVERE: Servlet.service () для сервлета [dispatcherServlet]в контексте с path [] вызвала исключение [Обработка запроса завершилась неудачей;вложенное исключение: org.thymeleaf.exceptions.TemplateInputException: режим шаблона «HTML» не был настроен] с корневой причиной org.thymeleaf.exceptions.TemplateInputException: режим шаблона «HTML» не был настроен в org.thymeleaf.TemplateRepository.getTemplate (TemplateRepository.java:256) в org.thymeleaf.TemplateEngine.process (TemplateEngine.java:1104) в org.thymeleaf.TemplateEngine.process (TemplateEngine.java:1060) в org.thymeleaf.TemplateEngine.process:Eng Template) в org.thymeleaf.spring4.view.ThymeleafView.renderFragment (ThymeleafView.java:335) в org.thymeleaf.spring4.view.ThymeleafView.render (ThymeleafView.java:190) в org.springframework.web.Serv.render (DispatcherServlet.java:1286)
Если объявление режима удалено из application.properties, jar предполагает, что режим является LEGACYHTML5, и пытается выполнить синтаксический анализ nekoHTML, который вообще не является HTML5.Например, он говорит, что <linK>
не имеет соответствующего </link>
.
Кажется, что это должен быть простой обходной путь, но я не смог его найти.
Спасибо
РЕДАКТИРОВАТЬ: Добавлен код для распознавателя шаблонов.Я скопировал этот скопированный код с другого сайта без особого понимания.Он был изменен, чтобы соответствовать фактической структуре проекта.Я запустил его с помощью отладчика, и он, похоже, не был вызван.
@Configuration
@EnableWebMvc
public class ThymeleafConfig extends WebMvcConfigurerAdapter {
@Bean
public ClassLoaderTemplateResolver templateResolver() {
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setPrefix("templates/");
templateResolver.setCacheable(false);
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode(TemplateMode.HTML);
templateResolver.setCharacterEncoding("UTF-8");
return templateResolver;
}
@Bean
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver());
return templateEngine;
}
@Bean
public ViewResolver viewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
viewResolver.setCharacterEncoding("UTF-8");
return viewResolver;
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index");
}