Grails 3.0 <g:remoteLink ...> 由于弃用而替换 Ajax 调用

Posted

技术标签:

【中文标题】Grails 3.0 <g:remoteLink ...> 由于弃用而替换 Ajax 调用【英文标题】:Grails 3.0 <g:remoteLink ...> Ajax call replacement due to deprecation 【发布时间】:2015-08-29 01:18:56 【问题描述】:

Grails 3.0.0 M1 声明 g:remoteLink 已被弃用,在 3.0.1 中它不再存在于 g: 命名空间中。文档中没有任何内容建议替换此功能。有人会回复 GSP 文件的替换选项以使用 Prototype javascript 库执行控制器操作吗?如果可能的话,是否会提供一种利用 Groovy 自定义标签库来直接消除 GSP 文件中的嵌入代码的解决方案?

【问题讨论】:

【参考方案1】:

标签使用嵌入到 html 标签中的内联 javascript,这一直被认为是不好的做法。同时,使用 jQuery 等 JavaScript 框架创建远程链接的 API 已经发展到使用起来同样容易的程度,并且它们具有可以通过资产管道和您的应用程序优化静态资源的优势会有更好的表现。

考虑到过去几年的变化,Grails 团队决定弃用标签,因为它们不再被认为是最佳实践,您最好使用原生 JavaScript API(jQuery 等)作为替代方案。

原始标签仍可在https://bintray.com/grails/plugins/ajax-tags获得

如果你想要它们,你必须声明一个依赖:

compile 'org.grails.plugins:ajax-tags:1.0.0.RC1'

【讨论】:

我认为如果这被记录在案会很棒。也许它应该包含在“从 2.x 升级”指南中。

以上是关于Grails 3.0 <g:remoteLink ...> 由于弃用而替换 Ajax 调用的主要内容,如果未能解决你的问题,请参考以下文章

Grails 3.0 公用文件夹

如何在 Grails 3.0 中使用 jQuery

Grails 3.0 中的 Spring Boot Security login.html 位置

如何将 Grails 3.0 连接到我的本地 Mysql 数据库

在 Grails 3.0 中配置 Spring Boot Security 以使用 BCrypt 密码编码

Gradle 3.5 搭建 Grails 3.0 项目配置