2016-11-20 48 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

是的,我们假设使用控制器,但在我的情况下,即时尝试异步发送消息,并且该应用程序只在应用程序启动时被调用一次。所以,我发现从控制器渲染几乎是不可能的。 –

相关问题