Grails:使用一个Controller Action同时渲染两个视图

时间:2012-07-01 07:55:15

标签: grails view controller

我的一个控制器的一个动作需要同时生成(重定向/渲染)两个单独的视图,并向客户端显示这两个页面。就像用户提交他的信息一样,页面将重定向到带有列表的新页面。 同时另一个页面需要在新窗口中弹出,其中包含一些其他信息(用户会打印此页面)。我知道,我可以用一个页面来解决这个问题,但我想知道是否有任何方法可以从一个控制器动作同时生成两个单独的页面/窗口。

感谢您的期待

3 个答案:

答案 0 :(得分:3)

简单的答案是否定的。 Grails没有做任何神奇的事情。它仍然受限于正常的HTTP请求/响应生命周期。单个请求获得单个响应。您要求的声音就像您希望grails能够为单个HTTP请求生成2个响应,这是不可能的。响应是要呈现的浏览器的页面,或者是浏览器转到另一个URL的重定向消息。

答案 1 :(得分:2)

您可以编写可以处理普通和ajax请求的操作。请参阅此处的文档: Responding to both Ajax and non-Ajax requests

然后您可以生成“正常”视图。之后,在客户端使用ajax调用相同的操作,并为弹出页面加载数据。

答案 2 :(得分:0)

为什么不在主视图中使用<script>window.open()</script>才能打开弹出窗口?