В чем разница между SpringResourceTemplateResolver и ClassLoaderTemplateResolver? - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь софигурировать свой проект.У меня есть два варианта tempalteResolver.если я использую это:

 @Bean
    public SpringResourceTemplateResolver templateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setApplicationContext(applicationContext);
        templateResolver.setPrefix("/WEB-INF/templates/");
        templateResolver.setSuffix(".html");
        templateResolver.setTemplateMode(TemplateMode.HTML);
        templateResolver.setCacheable(true);
        return templateResolver;
    }

, я получаю ошибку, что мой шаблон не может разрешить синтаксис thimeleaf th, даже когда я добавляю xmlns: th = "http://www.thymeleaf.org"

и когда я используюследующий код:

  @Bean
    public ClassLoaderTemplateResolver templateResolver() {
        ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
        templateResolver.setPrefix("/WEB-INF/templates/");
        templateResolver.setSuffix(".html");
        templateResolver.setTemplateMode(TemplateMode.HTML);
        templateResolver.setCacheable(false);
        templateResolver.setCharacterEncoding("UTF-8");
        return templateResolver;
    }

я получаю сообщение об ошибке, что по этому пути нет шаблонов (/WEB-INF/templates).

Полный путь к моим шаблонам - src \ main \ webapp\ WEB-INF \ templates \

Какой самый лучший распознаватель шаблонов и почему?

Спасибо!

1 Ответ

0 голосов
/ 21 февраля 2019

Вы должны использовать SpringResourceTemplateResolver для веб-проектов (используя контроллеры SpringMvc) и ClassLoaderTemplateResolver для проектов командной строки или когда вам нужно сгенерировать html для не-веб-приложений (таких как отправка html-писем или чего-то в этом роде).

Первая ошибка произошла из-за того, что Spring Security почему-то не подключился к проекту, а мои

 Authentication auth = SecurityContextHolder.getContext().getAuthentication();
modelAndView.addObject("auth", auth);

Отправили нули.И вторая ошибка, я не знаю, почему произошло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...