【问题标题】:Freemarker with spring mvc, so what will my action look like?Freemarker 和 spring mvc,那么我的动作会是什么样子?
【发布时间】:2011-03-09 07:54:59
【问题描述】:

在我的appname-servlet.xml 我有:

<!-- 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

我不确定事情会如何连接在一起,谢谢!

【问题讨论】:

  • “索引操作”是什么意思?如果你已经有HomeController,还需要什么?
  • 我迷路了,如何设置 freemarker 对象等?是的,我有一个 HomeController 和一个 Index 操作。我需要帮助在操作中设置 freemarker 并返回视图。

标签: java spring spring-mvc freemarker


【解决方案1】:

我认为你不需要 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://localhost:8080/app/index,你会得到渲染/WEB-INF/freemarker/index.ftl

【讨论】:

    【解决方案2】:

    控制器应该不了解 Freemarker,它们应该看起来像任何其他控制器,像往常一样构造 ModelAndViewModelMapFreeMarkerViewResolver 采用 ModelAndView 中保存的视图名称,并在内部将其解析为 Freemarker Template 对象,从而将您的模型渲染为该对象。所有 freemarker 配置都在 FreeMarkerViewResolver 内部

    如果你的上下文没有正确连接,那么FreeMarkerViewResolver 会抛出一个异常,但你当然不需要在你的控制器中进行任何 freemarker 配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 2018-06-23
      相关资源
      最近更新 更多