I'm currently trying to get Freemarker to work with my application using Spring. No matter what I try I keep getting template not found. I am not sure if I have the configuration set up properly, but it never finds my template. Here is my spring bean config:
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/freemarker/"/>
</bean>
Whenever I try to call getTemplate on the freemaker configuration it always sends back a template not found error. So if I do
configuration.getTemplate("testTemplate.ftl")
it always throws an IOException.
I'm not sure if anyone has an idea of what I'm doing wrong.
Thanks for all your help!
I've just had the same kind of problem and, at the end, I decide to use the approach below:
First of all,
/WEB-INF/freemarker
would only work as a path from withinWebApplicationContext
; otherwise Spring would attempt to resolve it as file system path rather than servlet context path. Is the excerpt you've posted above from the context being loaded byDispatcherServlet
?Secondly, is there any reason why are you using
configuration
directly instead of using Spring'sViewResolver
?Finally,
IOException
can mean many different things. Can you post a full stack trace?I think you must make sure that the file "testTemplate.ftl" is in the folder "/WEB-INF/freemarker/"
you can also set it like
In your case: