2009年8月20日星期四

Re: 答复: 答复: 答复: [PerlChina] 再来一个调查:用PERL来开发WEB,我更喜欢...

2009/8/20 Yonghua (Jeff) <yonghua.peng@gmail.com>
哈希数组类似 [ { en => abc, cn => def }, { en => xxx, cn=> yyy} ]之类。
当然TT也有些复杂的功能如filter,不过我们从来没使用过。

TT 的 filter 可用来阻止 JS 注入攻击 :) 比如:

    <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 访问该论坛

-~----------~----~----~----~------~----~------~--~---

没有评论: