2010-06-28 60 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

相關問題