我需要将一些非常复杂的动态HTML结构添加到我的Velocity模板中。如果我试图直接在模板中写这些,这将是一个绝对的混乱。Velocity中的Rails风格模板助手
让我解释一下我想要做的事情......比方说,在我的网站上,用户可以发表评论。而不是写了所有复杂的动态HTML结构进入意见表和发布形式,我希望能够做到这在我的模板:
<div>
// call to a method that generates the comments table
</div>
<div>
// call to a method that generates the comments form
</div>
在Ruby on Rails的,有事情叫helpers它允许您从模板中基本上调用一个方法,该方法返回一个动态生成的HTML块,并将其嵌入到您调用它的模板中。关于助手的好处在于,您只会将CPU用于所使用的CPU。使用VelocityContext.put()
方法,似乎必须提前生成所需的所有内容。这是一个问题,因为我最终会有大约50个不同的助手,我需要非程序员的网页设计师能够随意地将它们交换出来。
于是我问,
- 我可以做这样的事情与速度?
- 如果不是,我可以用其他模板引擎做这样的事吗?
- 有没有更好的方法来做我想做的事情?
您可以使用VelocityTools让您的HtmlHelper自动实例化,并在您的模板中引用$ helper时将其放入上下文中。 – 2010-11-17 16:07:13