我需要在我的 Velocity 模板中添加一些非常复杂的动态 HTML 结构。如果我试图直接在模板中编写这些,那将是一团糟。
让我解释一下我正在尝试做什么......假设,在我的网站上,用户可以发表评论。而不是编写进入评论表和发布表单的所有复杂的动态 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 中,有一些称为帮助程序的东西,它允许您从模板中调用,基本上,一个返回动态生成的 HTML 块的方法,该方法将嵌入到您调用它的模板中。助手的好处是你只在你使用的那些上花费 CPU。使用该VelocityContext.put()
方法,似乎我必须提前生成我需要的所有内容。这是一个问题,因为我最终将拥有大约 50 个不同的助手,并且我需要非程序员网页设计师能够随意交换它们。
所以我问,
- 我可以用 Velocity 做这样的事情吗?
- 如果没有,我可以用其他模板引擎做这样的事情吗?
- 有没有更好的方法来做我想做的事情?