gpt4 book ai didi

grails - 在Grails中,可以有一个带有waitFor标签的 View 吗?

转载 作者:行者123 更新时间:2023-12-02 15:32:37 25 4
gpt4 key购买 nike

我正在学习Grails,并拥有此Web应用程序。

我从一个具有如下形式的字段的 View 开始:<g:field name="phoneNumber"/>
该表格将提交给一个过程很长的 Controller (它正在电话号码上运行sip加载)。我异步运行此过程(使用grails executor plugin)。

class SipcallController {
def placeCall() {
runAsync {
if(params?.textCall) {
def sipcli = "sipcli ${params.phoneNumber} -d ${params.env} -l 3 -t ${params.textCall}".execute()
[view_data:sipcli.text]
} else {
render "No Value Entered"
}
}
}
}

有用。用户不必等待Sip电话(以前,他们将等到 Controller 的电话完成后再转到结果页面查看数据)。

现在将它们发送到结果页面。但是,我想在其完成的同一 View 中(结果页面)显示 Controller 中的值。

如果我在页面中放入类似 ${view_data}的内容,则会在页面加载时出错,提示“ 无法在空对象上调用方法”,因为打电话的方法尚未完成。

问题:

如何加载 View ,等待标签,以便在 Controller 的过程完成时加载数据?我可以做类似的事情吗 <g:WaitFor({$view_data})>?我没有类似的东西可以工作。

最佳答案

如果在后台完成处理后尝试将数据推送到 View ,则可能需要使用AjaxPush / Comet或WebSocket框架之一。查看Atmosphere Plugincometd Plugin,看看它们是否可以帮助您完成所需的工作。

关于grails - 在Grails中,可以有一个带有waitFor标签的 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17099682/

25 4 0