Артефакт Intellij jar с Spring Boot и Thymeleaf получает, Режим шаблона "HTML" не был настроен - PullRequest
0 голосов
/ 24 декабря 2018

С режимом, указанным в 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");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...