Grails应用程序的进度条

时间:2014-07-22 19:30:19

标签: grails progress

我正在尝试使用进度条来处理我的grails应用程序。我有一个src / groovy / MyClass.groovy,当从名为MyController的控制器类调用时,它会执行某些功能。当我点击MyWebpage.gsp上的提交按钮时,我需要在MyWebpage.gsp上显示MyClass.groovy完成的工作进度。

我提到this ,但我不理解的是代码的这一部分:

<g:form>
<g:submitToRemote action="executeAction"  name="progressButton" value="start...."/>
</g:form>

这是什么executeAction和progressButton?文档中没有太多信息。对不起这个基本问题。此外,如果有人知道更好的方法来显示进度,请告诉我。感谢。

1 个答案:

答案 0 :(得分:0)

executeAction是通过ajax调用的控制器操作(参见文档中的示例操作)

def executeAction = {

    for (int i = 1; i <= 100; i++) {

        //this updates the progress bar value for the progress id 123
        progressService.setProgressBarValue("123", i)

        //let's waste some time
        for (int a = 0; a < 10000; a++) {

            for (int b = 0; b < 1000; b++) {

            }
        }
    }

    render "the progress is done"
}

progressButton应该是按钮的名称,稍后会从<g:jprogressDialog progressId="123" trigger="progressButton"/>行使用,以更新客户端上的状态栏。

但是,当你问一个替代方案,我建议,为此使用普通的jquery(-ui)。将诸如jquery-ui progressbar之类的东西与jquery ajax调用结合起来应该可以解决问题。这方面的例子是here