gpt4 book ai didi

spring - 如何将 Freemarker 支持添加到 Spring MVC webapp?依赖问题?

转载 作者:IT老高 更新时间:2023-10-28 13:58:10 25 4
gpt4 key购买 nike

我正在尝试使用 Freemarker 和 Java 配置创建一个 Spring MVC 应用程序。

我习惯于使用 JSP,但我想我会在这个项目中尝试一下 Freemarker。

我已将 Freemarker 添加为依赖项,并且 Maven 正在下载该 jar:

        <dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>

我正在尝试使用 Spring 的 3.2.3.RELEASE 版本。

我的 MVC 配置,通过阅读类似问题组装而成:

@ComponentScan(basePackages="yhj.*")
@EnableWebMvc
public class MvcConfiguration extends WebMvcConfigurerAdapter{


@Bean
public ViewResolver viewResolver() {
FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
resolver.setCache(true);
resolver.setPrefix("");
resolver.setSuffix(".ftl");
return resolver;

}

@Bean
public FreeMarkerConfigurer freemarkerConfig() {
FreeMarkerConfigurer result = new FreeMarkerConfigurer();
result.setTemplateLoaderPath("/WEB-INF/views/");
return result;

}
}

当我尝试运行它时出现编译错误,我的 IDE 告诉我方法“setTemplateLoaderPath(String)”无法解析。

那么...看起来是用 Freemarker 配置 Spring MVC 的正确方法吗?如果这是问题,我需要向我的 POM 添加什么依赖项?

最佳答案

我对 Spring Boot 1.0.2、Spring 4.0.3 和 FreeMarker 2.3.20 的解决方案是以下类:

@Configuration
public class MvcConfigurer extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver viewResolver() {
FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
resolver.setCache(true);
resolver.setPrefix("");
resolver.setSuffix(".ftl");
resolver.setContentType("text/html; charset=UTF-8");
return resolver;
}

@Bean
public FreeMarkerConfigurer freemarkerConfig() throws IOException, TemplateException {
FreeMarkerConfigurationFactory factory = new FreeMarkerConfigurationFactory();
factory.setTemplateLoaderPath("classpath:templates");
factory.setDefaultEncoding("UTF-8");
FreeMarkerConfigurer result = new FreeMarkerConfigurer();
result.setConfiguration(factory.createConfiguration());
return result;
}
}

此外,您需要与问题和 DaFoot 自己的答案中相同的 pom.xml 更改。

关于spring - 如何将 Freemarker 支持添加到 Spring MVC webapp?依赖问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17629786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com