2016-11-20 49 views
0

我一直在嘗試從grails服務發送消息並將其顯示在我的網頁(receiver.gsp)中。異步接收來自服務器的數據,無Ajax調用

我的服務代碼如下:

public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) 
       throws IOException { 
      String message = new String(body, "UTF-8"); 
      groovyPageRenderer.render view: '/receiver/receiver', model: [msg: message] 
      println(" [x] Received '" + message + "'"); 
     } 

我receiver.gsp頁:

<div class="body"> 
<h1>Receiver</h1> 

${msg} 

我只是想表明,從我的服務呈現的異步消息。

每次我的服務正在渲染味精時,該值都會在receiver.gsp頁面中捕獲,但不會顯示。

任何提示或幫助將不勝感激。提前致謝。

+0

頁面離開服務器並且在瀏覽器中後,您無法在瀏覽器中運行任何服務器端編程語言,只能使用javascript。如果你想從服務器異步獲取數據並更新dom,請使用ajax – charlietfl

+0

然後推送通知如何工作?有沒有其他方式從服務器推送數據? –

+0

推,從這個意義上說,就像網絡套接字。我建議你看看什麼網絡套接字,並瞭解它們。 Grails有幾個插件可以幫助你瞭解它們的工作方式。 –

回答

0

爲什麼使用Service來渲染你的View?我認爲你應該使用Controller來顯示你想要顯示的內容。

+0

是的,我們假設使用控制器,但在我的情況下,即時嘗試異步發送消息,並且該應用程序只在應用程序啓動時被調用一次。所以,我發現從控制器渲染幾乎是不可能的。 –

相關問題