В контроллере Grails я могу отобразить изображение в ответ, используя
class MyController {
def getImage = {
BufferedImage image = ImageIO.read('http://example.org/foo.png')
ImageIO.write(captcha, "PNG", response.outputStream)
}
}
В GSP я могу отобразить это изображение, используя:
<img src="${createLink(controller: 'my', action: 'getImage')}"/>
Я хотел бы написатьTagLib, который делает что-то подобное.
class MyTagLib {
static namespace = "my"
def getImage(attrs ->
BufferedImage image = ImageIO.read('http://example.org/foo.png')
}
}
Но я не могу понять, как отобразить это изображение в ответ.Внутри класса тега я могу писать только в out
, который является экземпляром GrailsPrintWriter
, но ImageIO.write
может записывать только в OutputStream
.
. Для завершения, тег вышебудет вызван из GSP с помощью
<my:getImage/>