Динамически отображать изображение (байтовый массив) на JSP с полосами - PullRequest
1 голос
/ 04 января 2012

В настоящее время я работаю с Stripes, и у меня есть ActionBean, который загружает определенный объект пользователя JavaBean (электронная почта, имя, фамилия, изображение BLOB-объекта) из моей базы данных в соответствии с параметром в URL-адресе.Затем этот ActionBean перенаправляет на страницу JSP, которая отображает эту информацию с помощью ActionBean и доступа к экземпляру объекта User (свойство ActionBean).

У меня нет проблем с отображением текстовых данных (электронная почта, имя и фамилия)Имя), но я не знаю, как я могу динамически отображать изображение Blob (это байтовый массив).

Есть ли способ, может быть, использовать тег из библиотеки тегов Stripes для загрузки события (разрешение) что загрузит изображение из текущего ActionBean и отобразит его при загрузке страницы?

Я думал, что мог бы вызвать Разрешение (событие) из JavaBean пользователя в качестве источника тега, но он этого не делаетпохоже на работу ...

public Resolution loadPicture(){
    StreamingResolution sr = null;

       return sr = new StreamingResolution("image/jpeg") {
             public void stream(HttpServletResponse resp) throws Exception {
                 OutputStream os = resp.getOutputStream();
                 os.write(this.user.getBlob());
                 os.close();
             }
         };
}

Заранее спасибо!

1 Ответ

3 голосов
/ 04 января 2012

HTTP и HTML работают не так.Запрос используется для загрузки кода HTML.Этот HTML-код содержит различные теги <img src="..." />, и для загрузки каждого изображения делается запрос new .Вы должны сгенерировать HTML с тегами img, которые имеют src, указывающие на действие Stripes, которое загрузит изображение и передаст его в ответ.

StreamingResolution является правильным подходом для реализации этого действия, но действие должно быть вызвано из другого запроса.

...