2011-03-17 79 views
5

我正在创建一个grails web应用程序,并且具有主索引gsp,并且在我使用部分模板的网站上的大多数页面上都有几个常见组件。加载部分模板Ajax - 使用Grails

每个部分模板都是相当孤立的,包含非常不同的信息,所以每个模板都应该从不同的控制器获取信息。

我想要的是在页面加载,为每个部分模板调用控制器来加载所需的内容 - 我希望有一些标签,我可以很容易地放在我的部分模板指定一个控制器/动作,将在加载时自动调用控制器。

这可能吗?

----编辑-----

另外,部分模板控制器中的一个将被拉回从一个Web服务,可能需要一些时间的信息,所以这将是很好的,如果我也可以加载这些模板异步..

谢谢!

回答

4

这就是<g:include>标签的用途。它本身非常有用,但如果与springcache plugin结合使用并使用页面片段缓存,则会更有用。 由于包含在控制器中调用常规操作,您还可以通过ajax调用来使用它。

+0

谢谢Stefan!看起来像我所需要的,但是,我在我的部分模板中包含了 .GSP和控制器方法似乎没有被调用 - 是否有任何东西否则我需要做? – rhinds 2011-03-17 22:08:58

+0

另外,你有什么机会可以使用include标签指向ajax示例?再次感谢! – rhinds 2011-03-17 22:09:32

+0

取决于您的用例:如果您想通过ajax调用来调用旨在包含在其他某个操作中的操作,则应该使用http://www.grails.org/doc/latest/ref/Tags/ remoteFunction.html。如果ajax调用的结果应该包含其他一些操作,则应该在由ajax调用所调用的gsp中使用g:include。 – 2011-03-19 19:44:30