2012-07-01 27 views
2

我的控制器之一的一個動作需要同時生成(重定向/呈現)兩個單獨的視圖並將兩個頁面都顯示給客戶端。這就像用戶提交他的信息時,頁面將重定向到一個帶有列表的新頁面。 在同一時間另一個頁面需要彈出一個新的窗口包含一些額外的信息(用戶將打印此頁)。我知道,我可以用單個頁面解決問題,但我想知道是否有任何方法可以從單個控制器操作同時生成兩個單獨的頁面/窗口。Grails:使用一個控制器同時呈現兩個視圖操作

感謝預期

回答

0

爲什麼不在您的主視圖中使用<script>window.open()</script>以打開彈出窗口?

+0

慈悲boucoup。我使用了您的解決方案,並與@peddn –

2

您可以編寫自己的操作,它可以處理正常和ajax請求。看到文檔在這裏: Responding to both Ajax and non-Ajax requests

然後,你可以生成你的「正常」的看法。之後,您通過在客戶端使用ajax調用相同的操作,併爲彈出頁面加載數據。

+0

非常感謝您的建議。不知道這個功能。 –

+0

當然,這只是Tri精神問題的一種「解決方法」......但也許這是一種可以與之共存的解決方案。 – peddn

3

簡單的答案是NO。 Grails沒有做任何神奇的事情。它仍然受限於正常的HTTP請求/響應生命週期。一個請求獲得單個響應。你所要求的聽起來像你希望grails能夠爲一個不可能的單個HTTP請求生成2個響應。響應是瀏覽器呈現的頁面,或者是瀏覽器轉到另一個URL的重定向消息。

+0

感謝了解。沒有想到這種方式。你是絕對正確的,雖然這不能給我解決方案。 –

相關問題