2009/8/20 Yonghua (Jeff) <yonghua.peng@gmail.com>
TT 的 filter 可用来阻止 JS 注入攻击 :) 比如:哈希数组类似 [ { en => abc, cn => def }, { en => xxx, cn=> yyy} ]之类。
当然TT也有些复杂的功能如filter,不过我们从来没使用过。
<div class="user-comment">[% comment.body | html %]</div>
这个比较方便了,呵呵。当然了,在将原始数据传入 TT 模板之前统一进行 filter 也是一种选择 :)
我自己也经常使用像 Jemplate 这样的 TT 引擎,可以从 TT 模板生成客户端 JavaScript (JS) 代码,从而完成客户端的大量的动态 HTML 内容生成 :) 同时,我也会利用传统的 Template.pm 来以组件化的方式,在建站过程中,生成服务器端的 HTML 内容。
更有趣的是,一些 TT 模板可以同时用于服务器端和客户端,即实现共享,这得益于 TT 自身的“小语言”。这一点比 Mason 要有优势,毕竟将含有任意的 Perl 5 代码片段的 Mason 模板编译成跨浏览器的 JS 代码,还是比较困难的 :) 事实上,Template::Declare 也存在类似的问题,而 clkao++ 先前启动了一个研究性的项目,尝试将纯 Perl 5 表达的 Template::Declare 模板编译为客户端 JS。。。可惜好像还没有最终成形 :)
Cheers,
-agentzh
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论