什么是“现代Perl”生成动态HTML的推荐方式?
我曾经可以使用
我想在Template::Toolkit下,我会使用类似
编辑:
一些例子:
我如何在运行时生成下拉列表(
如何为属性直到运行时才知道的标记生成HTML?在CGI中,只需使用
如何在运行时不知道标签及其内容列表时生成HTML?在CGI中,它是:
我还要处理更复杂的情况,例如涉及递归,但如果我解决了上述问题,则其他问题可能会迎刃而解。
我曾经可以使用
CGI::tag ( @attr )
,但似乎现在已经不建议使用了。然而,在阅读CGI::Alternatives时,我只看到使用静态HTML的示例。我想在Template::Toolkit下,我会使用类似
[% html %]
的东西,但这仍然存在生成相应的$ html字符串的问题。 我正在寻找一个库,像CGI一样生成正确的HTML标记,具有正确的转义,知道自关闭标记等,并且没有被弃用......除非在现代Perl Web框架中有一种超越所有这些的方法。编辑:
一些例子:
我如何在运行时生成下拉列表(
<select>
)的HTML?当值和标签在运行时才知道时?CGI方法只需要一行代码:$q->popup_menu ({ name => $name, values => \@values, labels => \%labels }); Template::Toolkit方法涉及很多行代码(这里是一个example)...还有其他方法吗?如何为属性直到运行时才知道的标记生成HTML?在CGI中,只需使用
$q->tag(\%attr);
…那么Template::Toolkit等效方法是什么?如何在运行时不知道标签及其内容列表时生成HTML?在CGI中,它是:
$q->parent(\%attr, @child);
...那么在Template::Toolkit中如何实现?我意识到这有点模糊,但我处理大量内容在运行时未知的情况,因此事先制定模板似乎对我来说不可行,但我可能不知道Template::Toolkit的一些高级功能。我还要处理更复杂的情况,例如涉及递归,但如果我解决了上述问题,则其他问题可能会迎刃而解。
Template::Toolkit
来插入任何参数化部分。你也可以用CSS和JavaScript文件做同样的事情,但我建议它们应该保持静态。 - Borodin