阻止ui对ajax加载grails

时间:2013-08-16 09:59:32

标签: ajax grails blockui

remoteLink用于在Grails项目中调用服务器处理程序,如下所示。我可以将blockUi方法放在onLoading中以使远程调用友好。如果有一个remoteLink,我可以为每个remoteLink执行此操作。但如果有很多remoteLink,重复这个并不是我想象中的好习惯。

我想使用GSP标签。有没有像remoteLink ajax loading事件的拦截器这样的方法来做它而不重复?如果有,那么通过放置如下标签可以从blockUi中排除一些remoteLink会更好:except ='true'

非常感谢您的帮助!

<g:remoteLink action="show"
          id="1"
          update="success"
          onLoading="blockUi()"
          onComplete="hideProgress()">Show Book 1</g:remoteLink>

1 个答案:

答案 0 :(得分:1)

默认情况下,您可以创建自己的TagLib并使用remoteLink致电onLoading

class AjaxTagLib {
  static namespace = "my" //define a namespace to not conflict with g

  def remoteLink = { attrs ->
    //default onLoading attribute
    if(!attrs.onLoading) {
      attrs.onLoading = "blockUi()"
    }
    g.remoteLink(attrs)
  }
}

然后你可以使用g.remoteLink的那个instad:

<my:remoteLink action="show" id="1" update="success">Show Book 1</my:remoteLink>