springmvc整合freemarker,使用ftl文件

0、需要一个已经配置好的springmvc项目,这里就不多费口舌了

1、引入jar包:maven,一说还需要引入spring-context-support包

<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.23</version>
</dependency>

2、springmvc的配置文件,原始文件修改

<!-- 定义文件的位置 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

    <property name="order" value="1"/><!-- 增加一个属性,如果找不到freemarker的模版则走原始的 -->

    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>

3、springmvc的配置文件,新增加

<!-- freemarker的配置 -->
<bean id="freemarkerConfig"
      class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
      <!-- 模版位置,这里配置了下面就不用配了 -->
    <property name="templateLoaderPath" value="\WEB-INF\template" />
    <property name="freemarkerSettings"><!-- 一些设置 -->
        <props>
            <prop key="template_update_delay">0</prop>
            <prop key="default_encoding">UTF-8</prop>
            <prop key="number_format">0.##########</prop>
            <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
            <prop key="classic_compatible">true</prop>
            <prop key="template_exception_handler">ignore</prop>
        </props>
    </property>
</bean>

<!-- freeMarker视图解析器 -->
<bean id="freemarkerViewResolver"
      class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"
    />
    <property name="viewNames" value="*.ftl" />
    <property name="contentType" value="text/html; charset=utf-8" />
    <property name="cache" value="true" />
    <property name="suffix" value="" />
    <!--    作用百度即可
        <property name="exposeRequestAttributes" value="true" />
        <property name="exposeSessionAttributes" value="true" />
        <property name="exposeSpringMacroHelpers" value="true" /> 
    -->
    <!-- 视图先走这个freemarker的,再走原始的 -->
    <property name="order" value="0" />
</bean>

4、java代码:

@RequestMapping("freemarkerTest")
public String getFirstPage(Model model) {
    model.addAttribute("test", "my name is freemarker");
    return "hello.ftl";
}

5、在上面配置的/WEB-INF/template/目录下面新建hello.ftl文件。
ps:idea原生支持ftl文件,eclipse好像需要插件
格式什么的和jsp还挺像,网上随便一搜一大把

<html>
    <head>
        <title>Insert title here</title>
    </head>
    <body>
        ${test}
    </body>
</html>

6、启动服务,localhost:8080/项目名/freemarkerTest 即可

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值