freemarker 入门笔记
2015-11-30 15:27
375 查看
一、Demo 快速入门:
使用 springmvc + freemarker 编写demo:1、web.xml配置不变
2、spring-mvc.xml配置,修改view项的配置,如下:
<!-- freemaker配置 --> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <!-- .ftl 文件位置 --> <property name="templateLoaderPath" value="/templates/" /> <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="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="cache" value="true" /> <property name="prefix" value="" /> <property name="suffix" value=".ftl" /> <property name="contentType" value="text/html;charset=UTF-8"></property> <property name="requestContextAttribute" value="request" /> <property name="exposeSpringMacroHelpers" value="true" /> <property name="exposeRequestAttributes" value="true" /> <property name="exposeSessionAttributes" value="true" /> </bean>
简版:
<!-- 配置freeMarker的模板路径 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/templates/" /> <property name="defaultEncoding" value="UTF-8" /> </bean> <!-- freemarker视图解析器 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="suffix" value=".ftl" /> <property name="contentType" value="text/html;charset=UTF-8" /> <!-- 此变量值为pageContext.request, 页面使用方法:rc.contextPath --> <property name="requestContextAttribute" value="request" /> </bean>
3、其余配置均与jsp一致
4、*.ftl文件示例:
(1)webapp/templates/macro/base.ftl
注:这个文件里面是存放自定义标签的,freemarker的自定义标签是通过
<#macro xxx></#macro>(宏定义) 来实现的。这里写出的文件路径,仅供参考。
<#macro url>http://www.test.com</#macro> ...
(2)webapp/templates/include/xxx.ftl
这是一个用于引入的文件,内容随意。使用
<#include "include/xxx.ftl" />完成引入。
(3)index.ftl
Demo案例的话就按照程序猿的惯例 – hello world!
<#-- import标签引入宏定义 --> <#import "/macro/baseUrl.ftl" as base> <#escape x as x?html> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <#-- 引入外部 .ftl 文件 --> <#include "include/table.ftl" /> <#-- 打印引入的标签 --> <@base.url/> hello world! </body> </html> </#escape>
相关文章推荐
- 如何选择前端框架:ANGULAR VS EMBER VS REACT
- GEF 框架中的设计模式
- 通过cxf发布的webservice接口中获取来源地址的IP
- HTML5+CSS3+JS 选项卡切换
- java设计模式之——代理模式
- Bootstrap 按钮(Button)插件加载状态
- Java的正则表达式
- 杭电计算机学院大学生程序设计竞赛(2015’11)
- jfreechart图表的数据刷新
- 谷哥渗透的关键词
- web前端开发工程师面试技巧自我总结
- android 控件ImageView的常用属性说明
- 循序渐进玩坦克
- android canvas save和restore
- C语言复习题1.1
- 进程的调度
- 判断ListView已到达顶部或底部的方法
- iOS 9音频应用播放音频之音量设置与声道设置
- Android Activity的加载模式和onActivityResult方法之间的冲突
- IOS学习之 网络编程(11)--使用ASI框架进行文件下载