0

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

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

非常感谢您的帮助!

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

1 回答 1

1

您可以创建自己的并默认使用您的TagLib呼叫。remoteLinkonLoading

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

<my:remoteLink action="show" id="1" update="success">Show Book 1</my:remoteLink>
于 2013-08-16T17:25:47.770 回答