【问题标题】:jsp dynamically set src image [duplicate]jsp动态设置src图像[重复]
【发布时间】:2021-12-06 15:44:48
【问题描述】:

我没有使用 jsp 的经验,我正在尝试帮助我的同事完成一个旧的 struts2 项目。

我们从后端收到有关产品特性的一些信息。其中一个信息是 base64 格式的图像。 .我想将它设置在<img src...>

如果我将它设置在一个 div 中,我可以看到打印在浏览器上的图像信息(base64 字符串)。

<div id="<s:property value="%{#attribute.id}"/>" > </div>

但是如果我尝试为

<img src="<s:property value="%{#attribute.id}"/>"  transform='<s:property value="%{#attribute.transformFunction}" />' />

transform操作是在base64字符串的开头加上'data:'(不知道为什么一开始没有自带)

如果我在控制台中检查这两个元素,我得到了这个 第一个

<div id="image" transform="transformBase64ToImage" original="iVBOR...(base64string here)">data:image/gif;base64,iVBOR...(base64string here)</div>

第二个 - 显然不加载任何图像

<img src="image" transform="transformBase64ToImage">

如何将base64字符串添加到图片源属性中?

【问题讨论】:

    标签: jsp struts2 concatenation


    【解决方案1】:

    请尝试以下代码

    1. 在动作类中添加以下代码 -
    private String  product; // add getter & setter
    BASE64Encoder base64Encoder = new BASE64Encoder();
    StringBuilder imageStr = new StringBuilder();
    byte data[] = "Add Byte array here";
    imageStr.append("data:image/png;base64,");
    imageStr.append(base64Encoder.encode(data));
    product = imageString.toString();
    
    1. 在jsp文件中添加下面的标签

    ">

    【讨论】:

      猜你喜欢
      • 2018-12-09
      • 2021-05-17
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多