【问题标题】:Dynamically display image (byte array) on jsp with Stripes使用 Stripes 在 jsp 上动态显示图像(字节数组)
【发布时间】:2012-01-03 22:14:19
【问题描述】:

我目前正在使用 Stripes,并且我有一个 ActionBean,它根据 url 中的参数从我的数据库中加载特定的用户对象 JavaBean(电子邮件、名字、姓氏、Blob 图像)。 然后这个 ActionBean 转发到一个 JSP 页面,该页面通过使用 ActionBean 并访问 User 对象实例(ActionBean 的属性)来显示这些信息。

显示文本数据(电子邮件、名字和姓氏)没有问题,但我真的不知道如何动态显示 Blob 图像(它是一个字节数组)。

有没有办法,也许使用 Stripes Tag lib 中的标签来加载一个事件(Resolution),该事件会从当前的 ActionBean 加载图像并在页面加载时显示它?

我以为我可以从 User JavaBean 调用一个解决方案(事件)作为标签的 src,但他似乎不起作用......

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();
             }
         };
}

提前致谢!

【问题讨论】:

    标签: image jsp stripes


    【解决方案1】:

    这不是 HTTP 和 HTML 的工作方式。请求用于加载 HTML 代码。此 HTML 代码包含各种 <img src="..." /> 标签,并发出 new 请求以加载每个图像。您必须生成带有img 标签的HTML,这些标签的src 指向Stripes 操作,该操作将加载图像并将其流式传输到响应中。

    StreamingResolution 是实现此操作的正确方法,但必须从另一个请求调用该操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      相关资源
      最近更新 更多