站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Velocity与FreeMarker
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="text-align:center; border:1px solid #000; float:right; padding:6px;"><strong>导航:</strong> [[Velocity|上一页]]</span> <div style="clear:both;"></div> 相比较[[FreeMarker]]而言,[[Velocity]]更加简单、轻量级,但它的功能却没有FreeMarker那么强大。依据评测的结论, freemarker 稍快一些。差别在毫秒级别,对用户而言可以忽略不计,若超大流量,考虑负载时,较倾向后者。 velocity 出现得较早些,也有更多的受众,因此在考虑到人员配给上,略占优势。但是模板技术上手都很快的,所以无所谓。 对于大部分的应用来说,使用 FreeMarker 比 Velocity 更简单,因为 Velocity 还必须编写一些自定义的toolbox类以及一遍遍重复的编写一些比较通用的模版代码,因此也就丧失了刚开始开发时更多的宝贵时间。另外使用工具类和变通的方法在模版引擎中似乎不是一个非常有效的做法。同时,Velocity 的做法使得在Velocity的模版中大量的跟 [[Java]] 对象进行交互,这违反了简单的原则,尽管你也可以将代码转入控制器中实现。当然,如果你像使用 Velocity 一样来使用 FreeMarker ,那么 FreeMarker 也可以跟 Velocity 一样简单。 Velocity 一个优于FreeMarker的地方在于它有很广泛的第三方支持以及一个非常庞大的用户社区,你可以通过这个社区获得到很多的帮助,相反的FreeMarker在这方面要差很多。当然,也有越来越多的第三方软件开始在支持 FreeMarker 。 下面是一些 FreeMarker 能做到的,而 Velocity 做不到的功能列表(且看着): *日期和数字的支持 您可以执行运算和比较,对任意数量的类型,包括任意精度类型,而不仅仅是整数。 您可以比较和显示(格式化)日期/时间值。 *国际化 您可以格式数字区域,各种各样的内置和自定义数字格式模式。 您可以格式日期地区和时区,各种各样的内置和定制的日期格式模式。 标识符(变量名)可以包含非英语字母一样重音字母,阿拉伯字母,汉字等 *循环处理 您可以退出循环 您可以访问控制变量外循环机构的内部循环 您可以得知当前是否到了循环的结束位置 *模版级别的数组处理 您可以使用[i]的语法来访问数组元素,包括原始的和非原始的指数 可以获取到数组的长度 *宏定义 宏调用可以通过位置或名称进行参数传递 宏的参数可以设定默认值,在调用宏时如果没有指定该参数,则使用默认值代替 通过 <@myMacro>body</@myMacro> 可以支持宏的嵌套 可以通过文本表达的“宏的名称”来直接调用某个宏 宏允许先使用再定义 宏可以定义局部变量(新版本的Velocity也通过#local指令来实现该功能,尽管官方的文档还没有进行介绍) *命名空间 您可以使用多个名称空间的变数。当您建立“宏库”时是非常有用的 ,因为可以防止名称冲突与申请特定变量或与其他宏变量的库。 *内置与 Java 语言无关的字符串、列表、Map 的操作方法 *能提示模版中的拼写错误以及其他错误 当访问一个不存在的变量时,FreeMarker 在执行该模版时会报错,通过配置,你可以指定 FreeMarker 在碰到此类错误时是停止执行,还是忽略该错误,同时 FreeMarker 会在日志中记录此问题; 如果您输入错误指令的名称,FreeMarker将抛出一个异常。 *更高级的文本输出工具 *文本处理 支持Java的特殊字符处理,例如\b, \t, \n, \f, \r, \", \', \\,以及UNICODE的\xXXXX 除了通常的字符串,数字,和布尔常量您可以定义列表和地图文字以及内部模板 *高级的空格清除 FreeMarker 将删除一些多余的空格、跳格、换行等字符,从而消除一些令人厌烦的明显多余的空格 FreeMarker 也提供指令来删除多于的空格 *与其他技术的集成 提供[[JSP]] 标签库以便在 JSP 中嵌入 FreeMarker 模版 可以直接跟 Python 对象一起工作 *更强大的[[XML]]转换功能 *先进的模板元程序 您可以捕捉到输出的任意部分范本背景变量 您可以任意解释的范围变量,就好像它是一个模板定义 ==参考资料== *[http://blog.csdn.net/halemyan 参考资料1] [[Category:Velocity|V]] [[Category:FreeMarker|V]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)