2

我尝试在舞者中显示一个数组项,这是代码:

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 元素中什么都不显示,正确的方法是什么?

4

1 回答 1

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在使用任一方法之前加载模块

于 2012-07-28T03:51:41.140 回答