【发布时间】:2012-03-16 20:26:52
【问题描述】:
我希望我的应用程序中的所有视图都可以使用一种方法。
我希望能够像这样拨打电话:
<span>${ getDynamicText() }</span>
(对我而言)最明显的实现方式是:
- 调用控制器中的方法并将其传递给视图。
- 在某个 Util 类上将方法设为静态并从代码
${ UtilClass.getDynamicText() }中调用它 - 使用元编程以某种方式使该方法可用于所有视图。
#3 的好处是只需在一个地方进行更改。 #1 必须在每个控制器动作中进行; #2 需要在每个想要使用该方法的视图页面上导入。
那么有没有办法添加一个可用于我的应用中所有视图的方法?
我不得不承认,我并不太了解 .gsp 文件是如何在幕后处理的,因此它们可能没有相应的类,因此无法以这种方式进行操作。好的文章/文档的链接将获得额外的好业力。
【问题讨论】:
-
我是唯一一个认为标签库对此有好处的人吗? ibm.com/developerworks/java/library/j-grails03118/#N10261
标签: model-view-controller grails metaprogramming