【发布时间】:2011-04-29 04:20:15
【问题描述】:
我正在尝试使用以下代码在 GSP 页面中呈现来自 /WEB-INF/images/sps 的图像:
def index = {
def baseFolder = grailsAttributes.getApplicationContext().getResource("/").getFile().toString()
println baseFolder
def imagesFolder = baseFolder + '/images/sps'
println imagesFolder
def imageList1 = new File(imagesFolder).list()
println imageList1
def imageList = Arrays.asList(imageList1)
println imageList
imageList
//redirect(action:"displayImages", params:["imageList":imageList])
//render(view:"displayImages")
}
控制器能够从文件系统中读取图像。但是当我尝试使用以下代码显示它们时,图像不会出现。
index.gsp
<g:each in="${imageList}" var="image">
<img src="${resource(dir: 'images', file: image.filename)}" alt="Grails"/>
</g:each>
我做错了什么?
编辑:
当我尝试使用单个图像时,它工作正常 - 我能够查看 WEB-INF/images 文件夹中的图像
<img src="${resource(dir: 'images', file: '1.jpg')}" alt="Grails"/>
并且没有为循环代码生成的 HTML 代码(高于 index.gsp 代码)。它只是空白。
我的要求是显示文件系统文件夹中的所有图像文件。
【问题讨论】:
-
我第二个 - 你得到的 HTML 是什么?您生成的网址中是否有任何文件?
-
@Victor 没有生成代码。它只是空白。我怀疑它根本没有迭代。
-
看起来@netbrain 是对的,您需要将数组转换为列表 - 如果
println imageList给出了一些合理的信息。 -
@Victor:还是没有运气。我已经编辑了我的问题。