我在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"
答案 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')}"/>