我尝试在舞者中显示一个数组项,这里是代码:
get '/' => sub {
my @rows = ('aaa','bbb','ccc');
template 'crud.tt', {'rows' => \@rows};
};
,模板是:
<h2><% $rows[1] %></h2>
<h2><% rows[1] %></h2>
<% FOREACH r IN rows %>
<p><% r %></p>
<% END %>
在h2元素中什么都没有显示,正确的方法是什么?
答案 0 :(得分:6)
如果使用默认的Dancer
模板引擎,则无法传递任何除标量值之外的任何内容。但是如果你启用Template::Toolkit
作为引擎,那么各种各样的事情都是可能的。
您可以通过在YAML配置文件中设置template: template_toolkit
来全局执行此操作,也可以通过编写
get '/' => sub {
my @rows = ('aaa','bbb','ccc');
set template => 'template_toolkit';
template 'crud.tt', { rows => \@rows };
};
您的模板看起来像
<h2><% rows.1 %></h2>
<% FOREACH r IN rows %>
<p><% r %></p>
<% END %>
你需要
use Template;
在使用任何一种方法之前加载Template::Toolkit
模块