2010-06-28 72 views
1

在我appname-servlet.xml我:Freemarker with spring mvc,那么我的动作会是什么样子?

<!-- freemarker config --> 
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> 
    <property name="templateLoaderPath" value="/WEB-INF/freemarker/"/> 
</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. 

--> 
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> 
    <property name="cache" value="true"/> 
    <property name="prefix" value=""/> 
    <property name="suffix" value=".ftl"/> 

    <!-- if you want to use the Spring FreeMarker macros, set this property to true --> 
    <property name="exposeSpringMacroHelpers" value="true"/> 

</bean> 

所以,我有我的HomeController.java的索引视图在:/web-inf/freemarker/index.ftl

我希望有人可以创建一个死的简单指数的行动,将创建一个ModelAndView和使用freemarker

我不知道事情会如何连接在一起,谢谢!

+0

做什么你的意思是,“索引行动”?如果你已经有'HomeController',你还需要什么? – skaffman 2010-06-28 21:00:21

+0

我迷路了,我该如何设置freemarker对象等?是的,我有一个HomeController和一个索引操作。我需要帮助在动作中设置freemarker并返回视图。 – Blankman 2010-06-28 21:15:32

回答

2

控制器应该没有Freemarker的知识,他们应该看起来像任何其他控制器,像他们通常那样构建ModelAndViewModelMapFreeMarkerViewResolver将视图名称保存在ModelAndView中,并将其解析为内部的Freemarker对象,将您的模型渲染为该对象。所有freemarker的配置是内部的FreeMarkerViewResolver

如果上下文不正确接线,那么FreeMarkerViewResolver会抛出异常到效果,但你肯定不需要在你的控制器的任何freemarker的配置。

+0

好吧,这很漂亮,谢谢。 – Blankman 2010-06-29 13:04:07

0

你不需要freemarkerConfig,我想。只要改变你的观点解析了一下:

<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> 
    <property name="cache" value="true"/> 
    <property name="prefix" value="/WEB-INF/freemarker/"/> 
    <property name="suffix" value=".ftl"/> 
    <property name="exposeSpringMacroHelpers" value="true"/> 
</bean> 

现在,如果你打开HPPT://本地主机:8080 /应用/索引,你会得到渲染/WEB-INF/freemarker/index.ftl

相关问题