Freemarker
zzc1684
这个作者很懒,什么都没留下…
展开
-
巧用Freemarker的自定义方法
今天想要在Freemarker模版文件里使用HttpServletResponse对象的encodeURL方法,对页面链接的URL进行 Encode。据我所知,在Freemarker模版文件里是可以使用scriptlet和其他第三方标签的,可是当我直接在<%%>里书写 scriptlet时,却被原封不动地输了出来,于是就尝试引入JSTL,以便使用其中的<c:url valu...原创 2014-08-07 14:04:41 · 251 阅读 · 0 评论 -
Spring MVC 3.1多视图协商配置(json、xml、freemarker)
Spring mvc可以配置多种视图,比如json、xml、ftl等等(REST内容协商)。RESTful服务中很重要的一个特性是对于同一资源,可以有多种表述形式。既然是协商视图,那么Spring MVC REST改如何决定采用何种方式(视图)展示内容呢?第一种:根据http request header中的AcceptAccept: text/css,*/*;q=0.1 ...原创 2014-09-13 01:49:12 · 126 阅读 · 0 评论 -
Spring MVC的多视图解析器配置及与Freemarker的集成
一、从freemarker谈起Freemarker使用模板技术进行视图的渲染。自从看了Struts标签、Freemarker、JSTL的性能对比后,我毅然决定放弃Struts标签了!效率太差……Spring本身支持了对Freemarker的集成。只需要配置一个针对Freemarker的视图解析器即可。 二、Spring MVC视图解析器视图解析器的工作流程大致是这样的:Con...原创 2014-09-13 01:35:36 · 197 阅读 · 0 评论 -
freemarker之模板开发(其它之自定义指令)
freemarker之模板开发(其它之自定义指令)----------自定义指令可以使用macro指令来定义,这是模板设计者所关心的内容。Java程序员若不想在模板中实现自定义指令,而是在java语言中实现指令的定义,这时可以使用:freemarker.template.TemplateDirectiveModel类来扩展。 宏宏是有一个变量名的模板片段。你可以在模板中...原创 2014-08-21 11:05:29 · 168 阅读 · 0 评论 -
FreeMarker自定义TemplateDirectiveModel
在采用FreeMarker做前台视图模板的情况下,我们可以通过<#include>标签和自定义宏来解决很多重复性工作。 一个简单的FreeMarker宏: <#macro sayHello name=""> hello ${name}</#macro> 然后通过如下的形式调用: <@sayHe...原创 2014-08-14 17:54:23 · 294 阅读 · 0 评论 -
FreeMarker页面静态化
目前的项目中需要对某些页面进行静态化,减轻服务器压力。前端是用FreeMarker编写的模板。在网上查阅的使用FreeMarker静态化页面的方案大致分为两种: 1.在controller层编写生成静态页的方法,实例化模板,准备好model数据,然后通过template.process(data, out)方法将页面内容写到文件。参考【博客A】 2.扩展FreeMarker的F...原创 2014-08-14 17:54:10 · 233 阅读 · 0 评论 -
FreeMarker页面静态化 -之批量静态化
在上篇博客中说到我采用第二种方案实现静态化,也就是通过扩展FreeMarker的FreeMarkerView类(参考【我的博客】)。上次说到这种方式更加优雅,节省不少的工作量,而且降低了后期的维护成本。这篇博客将指出这种方案的一个缺点,以及解决方案。 该静态化方案中,FreeMarker渲染页面的工作发生在Controller层return之后,如下形式: @Requ...原创 2014-08-14 17:53:40 · 214 阅读 · 0 评论 -
Freemarker自定义方法和指令
1. 自 定义 方法,继承TemplateMethodModel即可。 例子如下:public class IndexOfMethod implements TemplateMethodModel { public TemplateModel exec(List args) throws TemplateModelException { if (arg...原创 2014-08-14 17:53:24 · 212 阅读 · 0 评论 -
Freemarker自定义方法
在项目中有一个需求,每个物品有一个guid,存在数据库中,而在页面上需要显示一个对应的业务数据值,暂且叫做serverId,serverId是通过guid移位计算得来。serverId只需要显示,后台并不需要使用。 因为serverId在后台用不到,所以就没有使用VO字段来 存储,项目使用了Freemarker作为view层的模板引擎。了解到Freemarker的一个特点是具有很多内置的...原创 2014-08-07 14:08:02 · 137 阅读 · 0 评论 -
Freemarker模板文件返回字符串
首先,先创建一个ftl文件: Html代码<div style="width:100%;font-size:12px;">Hello ${name}(${getUserAge(name)})</div> 之后,创建一个java应用程序类: Java代码package freemarker;import java.io.File;imp...原创 2014-08-07 14:06:36 · 466 阅读 · 0 评论 -
SpringMVC + Freemarker 国际化
一、基于浏览器当前语言的国际化在Spring的配置文件中配置资源文件Bean <!-- 资源文件绑定器 --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <p...原创 2015-12-15 10:04:52 · 177 阅读 · 0 评论