如何在Grails GSP中显示图像?

Wal*_*ter 9 grails groovy image

我还在学习Grails,似乎遇到了绊脚石.

以下是2个域类:

class Photo {
    byte[] file 

    static belongsTo = Profile
}


class Profile {
    String fullName
    Set photos

    static hasMany = [photos:Photo]     
}
Run Code Online (Sandbox Code Playgroud)

相关的控制器代码段:

class PhotoController {

    def viewImage = {

      def photo = Photo.get( params.id )
      byte[] image = photo.file 
      response.outputStream << image

    } 
} 
Run Code Online (Sandbox Code Playgroud)

最后是GSP片段:

<img class="Photo" src="${createLink(controller:'photo', action:'viewImage', id:'profileInstance.photos.get(1).id')}" />
Run Code Online (Sandbox Code Playgroud)

现在我如何访问照片以便它将显示在GSP上?我很确定这 profileInstance.photos.get(1).id是不正确的.

Hat*_*es_ 3

由于它是一个集合,如果你想要第一个元素,你将不得不去:

profileInstance.photos.toArray()[0].id
Run Code Online (Sandbox Code Playgroud)

或者

profileInstance.photos.iterator().next()
Run Code Online (Sandbox Code Playgroud)