Dancer2 模板中的 IF 语句
Dancer2 IF statements in template
我正在处理一个页面,该页面有一个从数据库查询中填充的下拉菜单。我还有一个传入参数,如果它被填充,将匹配下拉列表中的选项之一。如果填充了该参数,我希望选择下拉列表中的选项。我的直觉是做类似下面的事情(其中 foo
是 FOREACH
中的一个条目):
<% IF param -eq foo %>
<option value="foo" selected="selected">foo</option>
<% ELSE %>
<option value="foo">foo</option>
<% END %>
问题是我收到一条错误消息,指出 foo
是无法识别的标记。
我在文档或示例中找不到任何证据表明我可以实际使用上面的 param -eq foo
构造。我能找到的 IF
语句示例不使用比较运算符。他们基本上只读取一个布尔参数或检查一个参数是否有值。但由于它不拒绝 -eq
令牌,我一直希望有办法做到这一点,但我只是还没有找到正确的语法或找到文档。
找到相关文档:http://template-toolkit.org/docs/manual/Directives.html#section_IF_UNLESS_ELSIF_ELSE
不是-eq
,是==
。但既然如此,我仍然不确定为什么 -eq
没有抛出错误。
我正在处理一个页面,该页面有一个从数据库查询中填充的下拉菜单。我还有一个传入参数,如果它被填充,将匹配下拉列表中的选项之一。如果填充了该参数,我希望选择下拉列表中的选项。我的直觉是做类似下面的事情(其中 foo
是 FOREACH
中的一个条目):
<% IF param -eq foo %>
<option value="foo" selected="selected">foo</option>
<% ELSE %>
<option value="foo">foo</option>
<% END %>
问题是我收到一条错误消息,指出 foo
是无法识别的标记。
我在文档或示例中找不到任何证据表明我可以实际使用上面的 param -eq foo
构造。我能找到的 IF
语句示例不使用比较运算符。他们基本上只读取一个布尔参数或检查一个参数是否有值。但由于它不拒绝 -eq
令牌,我一直希望有办法做到这一点,但我只是还没有找到正确的语法或找到文档。
找到相关文档:http://template-toolkit.org/docs/manual/Directives.html#section_IF_UNLESS_ELSIF_ELSE
不是-eq
,是==
。但既然如此,我仍然不确定为什么 -eq
没有抛出错误。