[英]Error while integrating Freemarker to Spring mvc
我试图将Freemarker模板集成到Spring mvc应用程序中。 我试过它作为教程中的节目。这是代码,我使用的是freemarker 2.3.15
<!-- freemarker config -->
<beans:bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<beans:property name="templateLoaderPath" value="/WEB-INF/views/"/>
</beans:bean>
<!--
View resolvers can also be configured with ResourceBundles or XML files. If you need
different view resolving based on Locale, you have to use the resource bundle resolver.
-->
<beans:bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<beans:property name="cache" value="true"/>
<beans:property name="prefix" value="/WEB-INF/views/"/>
<beans:property name="suffix" value=".ftl"/>
</beans:bean>
它给出了错误:
1. Build path is incomplete. Cannot find class file for org/springframework/ui/freemarker/
FreeMarkerConfigurationFactory
2.No setter found for property 'templateLoaderPath' in class
'org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer' [config set: Warehouse/web-context]
将spring-context-support
依赖项添加到项目中。
在pom.xml中,
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
参考: 带Freemarker的ClassNotFoundException
和
几年后我遇到了这个问题。 我在网上找到的解决方案都没有。 我不知道FreeMarker或Spring库是否改变了什么。 我终于找到了一个有效的解决方案。
我有以下代码:
@Autowired
private FreeMarkerConfigurationFactoryBean freeMarkerConfigFactory;
将此jar包含在另一个项目中时,该项目可能突然不再解析此依赖项。 我正在研究的新项目实际上并不需要FreeMarker,但我需要让Spring解决依赖关系以便我的程序运行。
我注释掉了上面两行,而是添加了以下内容:
private FreeMarkerConfigurationFactoryBean freeMarkerConfigFactory = new FreeMarkerConfigurationFactoryBean();
这允许我的程序运行,因为Spring不需要自动装配这个bean。
多年来,为什么它停止工作,我不知道。 另外,我没有测试上面的代码,因为我再次不需要FreeMarker。 我只需要自动装配工作。
也许这会帮助别人(或者在我五年后再次寻找这个解决方案时帮助我。因为我已经解决了一次,但没有在自述文件中记录它。我必须在代码中找到我的评论。 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.