1

想象一下,您的 grails 应用程序的布局页面有一些动态内容,这些内容会在每个页面请求时更新。当一个页面被请求时,被请求的控制器与main.gsp页面提供的动态数据无关。我应该如何管理这个?

我的意思是当请求页面时,如何更新页面控制器不知道的布局部分的动态部分?另外我不想把布局动态代码放在每个控制器上。

4

1 回答 1

1

您也许可以为此创建一个TagLib

grails create-tag-lib myLayout

然后让你的 taglib 负责远程服务调用。您几乎可以在 taglib 中做任何您可以在控制器中做的事情,您还可以调用您已经创建的任何 Grails 服务。

class MyLayoutTagLib {
    static namespace = "myLayout"
    def stockQuoteService

    def getStockPrice = { attrs ->     
        out <<  stockQuoteService.getLatestPrice(attrs.stockSymbol)
    }
}

然后在你的 gsp

<myLayout:getStockPrice stockSymbol="${user.favoriteStockSymbol}" />

或者,您可以获取相关数据来进行远程服务调用。

于 2013-05-31T02:43:50.623 回答