Grails不会使用标记在子文件夹中显示图像

时间:2015-04-18 15:35:56

标签: grails resources

我在Grails项目中有图像文件,例如:

grails-app/assets/images/admin/img1.jpg

我试图将其显示为:

<g:img dir="images/admin" file="img1.jpg">

在开发环境(Grails 2.4)中,它没有出现。我得到404.但是,如果我将图像复制到:

grails-app/assets/images/img1.jpg

并更改如下代码:

<g:img dir="images" file="img1.jpg">

它有效。

我使用的插件:

build ":tomcat:7.0.55"
// plugins for the compile step
compile ":scaffolding:2.1.2"
compile ':cache:1.1.8'
compile ":asset-pipeline:1.9.9"

// plugins needed at runtime but not for compilation
runtime ":hibernate4:4.3.6.1" // or ":hibernate:3.6.10.18"
runtime ":database-migration:1.4.0"
runtime ":jquery:1.11.1"

1 个答案:

答案 0 :(得分:4)

从我所看到的Abs非常接近尝试。

 <asset:image src="admin/img1.jpg" />

如果您参考:

http://bertramdev.github.io/asset-pipeline/guide/usage.html

在4.3下:

如果需要,也可以在子目录中引用资产,只需要使用相对路径。

<asset:image src="icons/delete.png"/>

所以他们已经在图像中并且有一个名为icons的文件夹

您还应该能够使用替代方法执行类似的操作:

<img src="${assetPath(src: 'admin/img1.jpg')}"/>
<g:img src="${assetPath(src: 'admin/img1.jpg')}"/>