Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringResourceTemplateResolver和ClassLoaderTemplateResolver之间的区别是什么?_Spring_Spring Boot_Spring Mvc_Thymeleaf - Fatal编程技术网

SpringResourceTemplateResolver和ClassLoaderTemplateResolver之间的区别是什么?

SpringResourceTemplateResolver和ClassLoaderTemplateResolver之间的区别是什么?,spring,spring-boot,spring-mvc,thymeleaf,Spring,Spring Boot,Spring Mvc,Thymeleaf,我正在尝试重新配置我的项目。我有两种不同的tempalteResolver。 如果我用这个: @Bean public SpringResourceTemplateResolver templateResolver() { SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver(); templateResolver.setApplicati

我正在尝试重新配置我的项目。我有两种不同的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;
    }
我得到一个错误,我的模板无法解析thymeleaf语法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\

要使用的最佳模板解析器是什么?为什么

谢谢

您应该在web项目中使用SpringResourceTemplateResolver(使用SpringMvc控制器),在命令行项目中使用ClassLoaderTemplateResolver,或者在需要为非web应用程序生成html时(例如发送html电子邮件或类似的内容)

第一个错误发生了,因为spring security没有连接到项目和我的

 Authentication auth = SecurityContextHolder.getContext().getAuthentication();
modelAndView.addObject("auth", auth);
发送空值。
第二个错误我不知道为什么会发生。

没有实际的错误消息,就没有什么可调试的。对于web项目(使用SpringMvc控制器),您应该使用
SpringResourceTemplateResolver
;对于命令行项目,或者当您需要为非web应用程序生成html时,您应该使用
ClassLoaderTemplateResolver