无线&移动互联网技术研发
换位思考·····
posts - 19, comments - 53, trackbacks - 0, articles - 283
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
巧用Freemarker的自定义方法
Posted on 2010-03-03 09:53
Gavin.lee
阅读(516)
评论(0)
编辑
收藏
所属分类:
FreeMarker
原文:
http://gzhzh.javaeye.com/blog/433273
一直以来,都想在FTL模板页面里应用java的方法。
“要想使用Freemarker支持的自定义方法,需要实现freemarker.template.TemplateMethodModel接口,然后将方法对象放入到Freemarker的数据模型中,这样在ftl文件中便可以像使用Freemarker内置方法一样使用该方法了。”
具体的需求方法:
package
yixun.wap.tools;
import
java.util.List;
import
freemarker.template.TemplateMethodModel;
import
freemarker.template.TemplateModelException;
public
class
EncodeURLMethod
implements
TemplateMethodModel
{
/** */
/**
* 执行方法
*
@param
argList 方法参数列表
*
@return
Object 方法返回值
*
@throws
TemplateModelException
*/
public
Object exec(List arg0)
throws
TemplateModelException
{
if
(arg0.size()
!=
1
)
{
//
限定方法中必须且只能传递一个参数
throw
new
TemplateModelException(
"
template exception
"
);
}
String encode
=
java.net.URLEncoder.encode((String) arg0.get(
0
));
return
encode;
}
}
将EncodeURLMethod的实例对象放入模型中输出:
body.put(
"
encodeURL
"
,
new
EncodeURLMethod());
在Freemarker模版文件中应用:
$
{body.encodeURL(
"
时时彩
"
)}
得到的就是经过encoder的数据串了。这样用起来就非常方便了,可以根据业务的需求,扩大FreeMarker的内置方法库。
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
FreeMarker 字符串的截取
巧用Freemarker的自定义方法
FreeMarke开发指南
FreeMarker 中常见的 StringIndexOutOfBoundsException
MyEclipse 安装 FreeMarker编辑器
FreeMarker 中最常见的 undefined
freemarker 语法基础(转)
Powered by:
BlogJava
Copyright © Gavin.lee
日历
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(13)
给我留言
查看公开留言
查看私人留言
我参与的团队
深圳Java俱乐部(0/0)
随笔档案
(19)
2011年6月 (1)
2011年5月 (1)
2010年12月 (1)
2010年5月 (1)
2010年1月 (1)
2009年8月 (2)
2009年6月 (6)
2009年5月 (6)
文章分类
(277)
Date tools(4)
FreeMarker (7)
java design pattern(3)
java SE & EE(60)
JDBC(14)
jsp 【勿忘】(5)
Linux command(7)
Linux shell 入门(11)
Linux 日常应用(5)
Log && File Operate(8)
MemCache (5)
SiteMesh 页面装饰组件(2)
SSH2 --Hibernate(6)
SSH2 --Spring(9)
SSH2 --Struts2(21)
Subversion(Svn)(5)
wap 积累(8)
web 积累(前端 + 后台)(33)
xml doc 操作(12)
多线程(6)
性能分析(7)
类的设计(4)
经典语录(3)
经验&常识(32)
文章档案
(282)
2011年7月 (1)
2011年6月 (1)
2011年5月 (1)
2011年4月 (1)
2011年3月 (1)
2011年2月 (1)
2010年12月 (6)
2010年11月 (8)
2010年10月 (1)
2010年9月 (6)
2010年6月 (7)
2010年5月 (22)
2010年4月 (1)
2010年3月 (14)
2010年2月 (2)
2010年1月 (10)
2009年12月 (32)
2009年11月 (30)
2009年10月 (2)
2009年9月 (5)
2009年8月 (13)
2009年7月 (41)
2009年6月 (43)
2009年5月 (33)
收藏夹
(7)
java 基础类(1)
JSP(1)
server(2)
WEB(1)
数据库
设计模式(2)
友情链接
blogjava中的强人
chinaunix 社区
java 世纪网
java 基础辅导文章
javaeye 蓝色的风
SQL语句教程
与java共舞
中国协议分析网
中文java技术网
多线程
待看的文章
感兴趣的 csdn
我的漫漫程序之旅
新起点,新开始
梦幻之旅
赵学庆 的博客
超级多文章的牛人
隔叶黄莺 The Blog of Unmi
高手论坛
最新随笔
1. Mysql:1292 truncated incorrect double value -- concat 函数用法
2. Mysql 插入当前时间【摘】
3. 学计算机的你伤不起啊【雷人】
4. ucweb和opera工作原理的差别【摘】
5. 清朝皇帝列表
6. 设置IE查看源文件时默认打开的编辑器【转】
7. subclipse svn修改用户名密码问题【摘】
8. hibernate.dialect (Hibernate SQL方言)-备用
9. Tomcat JspFactory的异常的原因及解决办法
10. 关于MyEclipse中的Tomcat启动的问题 【Tomcat JDK name error】
11. win-xp 自动关机脚本 【古老的记忆】
12. Office 2007 Word 打开故障 - "The setup controller has encountered a problem during instll"
13. 木匠家的门
14. MyEclipse 后台进程一直运行"computing additional info"的解决办法
15. MyEclipse 一直 initializing java tooling······
16. MyEclipse 代码提示(“@”自动提示)
17. org.hibernate.hql.ast.QuerySyntaxException(我的流水账)
18. org.hibernate.hql.antlr.HqlBaseParser.recover(NoSuchMethodError)
19. SVN:cannot map the project with svn provider解决办法
20. WAP1.0 前端开发经验(原创-JSP)
21. Notepad++提示"Load langs.xml failed!"的解决方法
22. 让你的PC也能访问手机腾讯网
23. 【转】Proxool 连接池的配置-hibernate篇
24. Hibernate 主键生成策略
25. Quartz cron 表达式格式的含义
26. OGNL功用!!!
27. 使用Appfuse快速构建J2EE应用
28. 大型门户网站的十四大技术!!!
29. Urlrewrite与Struts2.x结合使用
30. HttpWatch的检测指示说明:Blocked、Connect、Send、Wait、Receive
31. 解读JAR,SIS,SISX格式区别!!!
32. commons-lang-2.4.jar 包常用方法集锦
33. Struts2中解决一个表单多种提交
34. JSTL(Java Standard Tag Library) 标记库的使用
35. Struts2验证错误信息的两个经典方法-addFieldError&addActionError
36. Hibernate常见异常-无法转换为内部表示
37. Spring AOP详细导读-用多手段实例对比呈现AOP
38. Struts2 Result-type(封装Action层到View层的跳转逻辑)
39. 在Struts2中以IOC和非IOC方式获取session&request
40. 采用url链接形式提交action(非s:from方式提交)
搜索
积分与排名
积分 - 353621
排名 - 156
最新评论
1. re: Struts2验证错误信息的两个经典方法-addFieldError&addActionError
S2C4
--asdad
2. re: Struts2验证错误信息的两个经典方法-addFieldError&addActionError[未登录]
asd
--as
3. 21232.2323
323432432
--冯海波
4. re: SVN:cannot map the project with svn provider解决办法[未登录]
多谢!已经解决。
--will
5. re: Struts2验证错误信息的两个经典方法-addFieldError&addActionError
44
--2
阅读排行榜
1. 学计算机的你伤不起啊【雷人】(1011)
2. 看看这个笑话,你就知道干IT的不容易了!!(619)
3. 清朝皇帝列表(609)
4. 每天读一遍,不久你就会变! ---- 很好很强大(466)
5. 木匠家的门(416)
评论排行榜
1. 学计算机的你伤不起啊【雷人】(0)
2. 清朝皇帝列表(0)
3. 木匠家的门(0)
4. 每天读一遍,不久你就会变! ---- 很好很强大(0)
5. 我喜欢的语录(0)