我的gsp中的Grails 3.0.9 createLink无效

时间:2015-11-25 21:00:04

标签: grails

我正在尝试使用以下内容显示存储在模型中的图像:

<img src="${createLink(controller:'attachments', action:'showImage', id: attachmentInstance.id)}" />

以下是控制器附件中的showImage方法:

def showImage= {
println "In showImage"
    def attachmentInstance = Attachment.get(params.id)
    byte[] b = attachmentInstance.image
    response.setContentLength(b.length)
    response.getOutputStream().write(b) 
}

这是我的域类:

class Attachment {
byte[] image
String imageType 
int imageSize
String attachmentType
String fileName

static mapping = {
    image(sqlType: "blob")
    columns {
         '*'(nullable: true)
    }                   
}   

}

行动没有被执行,我有一个原子来改变它。

图像位于文件中,此代码已用于以前版本的Grails。

我做错了什么或有错误吗?

1 个答案:

答案 0 :(得分:0)

旧版本的Grails控制器使用闭包而不是方法。较新的版本在控制器上使用实际方法而不是闭包。所以你的方法应该是:

def showImage() {
...
}

而不是

def showImage = {
...
}