grails - 使用 grailsLinkGenerator 在 bootstrap.groovy 中生成图像链接

标签 grails

我正在尝试使用 Grails 2.0.3 中文档不足的 grailsLinkGenerator 类在我的 bootsrap 文件中创建指向图像资源的链接

我已经成功注入(inject)服务使用

...
LinkGenerator grailsLinkGenerator 
...

但是下面代码生成的url不正确

grailsLinkGenerator.resource(dir:'images', file:'1.jpg')

没有错误,生成的路径看起来几乎是正确的,除了它在 url 中缺少“static”。我用错了吗?有没有其他方法可以在 Bootstrap 中访问静态资源?

最佳答案

查看ApplicationTagLib 源代码,您可以看到g:resource 仅在未安装资源插件时才使用linkGenerator

Closure resource = { attrs ->
    if (!attrs.pluginContextPath && pageScope.pluginContextPath) {
        attrs.pluginContextPath = pageScope.pluginContextPath
    }
    // Use resources plugin if present, but only if file is specified - resources require files
    // But users often need to link to a folder just using dir
    return ((hasResourceProcessor && attrs.file) ? r.resource(attrs) : linkGenerator.resource(attrs))
}

所以这可能是您的链接没有静态路径的原因。

我认为将缩略图的完整链接存储在数据库中不是一个好的选择。如果您更改结构中的某些内容,您将需要更新所有链接。您可以存储缩略图的名称(或使用约定)并让链接在负责显示它们的 TagLib 中生成。

在 TagLib 中,您只需使用 g:resource 即可创建正确的 url。

关于grails - 使用 grailsLinkGenerator 在 bootstrap.groovy 中生成图像链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14246222/

相关文章:

eclipse - Grails Assets 管道在Eclipse中显示错误的构建路径

grails - 将GSP页面呈现到Web应用子文件夹中的文件

tomcat - 从 run-app 配置 Grails 访问日志记录

grails - 尝试运行应用程序时,Tomcat ClassNotFound异常

grails - grails-hasErrors()

grails - 我可以创建一个自定义条件查询吗

java - Grails 2.2.2 UrlMappings 测试(有异常)

grails - 域使用addTo Map导致错误

jquery - 具有相同内容的HTML 2区域

grails - 如何将此SQL查询转换为Grails或GORM查询