JSP动态设置SRC图像



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

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

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

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

但是,如果我尝试对<img元素做类似的事情,则源元素无法正确填充。我有这个:>

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

转换操作是将'data:'添加到base64字符串的开头(不知道为什么它最初没有附带)

在控制台中,如果我检查两个元素,我得到这个1日

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

2 -显然不加载任何图像

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

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

请尝试下面的代码

  1. 在action类中添加以下代码-
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文件中添加下面的标签

& lt; img宽度="100";身高="100";src ="& lt;销售:属性值="product","/"的在