繁体   English   中英

Perl模板工具包传递给Jquery Tools覆盖?

[英]Perl Template Toolkit passing to Jquery Tools overlay?

我正在使用Template :: Toolkit构建页面。 我在页面上有一个链接列表,每个链接都使用Jquery工具触发覆盖。 我想将一些CGI变量传递给它,但是它表现得很奇怪。 我在模板中的代码是:

[% FOREACH dvd IN dvd_chart %]

<div class="thumbnail">
<a href="popup.pl?overview=[% dvd.overview %]" rel="#overlay" style="text-decoration:none"><img  src="[% dvd.thumbnail %]" /></a>
<br />

</div>
[% END %]

问题在于,概览无法进入叠加层。 实际上,叠加层显示为空白。 如果我更改字符串的Template变量,则字符串确实会出现在模板中。 有谁知道是否需要通过转义来传递Template变量? 顺便说一句,[%dvd.overview%]变量是有效的,因为我可以将其转储到屏幕并查看字符串。

模板工具包具有针对这种情况的内置过滤器( 特别是html和html_entity )。 特别是在这里使用它们是一个好主意,因为即使未转义的内容正确呈现,正如您提到的,这些都是从客户端传递的CGI变量。 渲染未转义的客户端提供的数据很危险。

这是一个示例,说明了如何避免不必要的代码混乱您的业务逻辑。 只需添加| html | html到变量输出。

[% FOREACH dvd IN dvd_chart %]

<div class="thumbnail">
<a href="popup.pl?overview=[% dvd.overview | html %]" rel="#overlay" style="text-decoration:none"><img  src="[% dvd.thumbnail |html %]" /></a>
<br />

</div>
[% END %]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM