我在带有Spring的JSP中有以下内容:
<img alt="Embedded Image" src="data:image/png;base64,${item.imageDataBase64}"/>
我在bean的getImageDataBase64
方法中有一个调试语句,消息在Tomcat日志中正确打印,基本64数据在那里编码。
但是,它不会显示在我的JSP上。我尝试在<pre>
标签中显示普通数据,但它始终为空白。
如果我只是${item.imageData}
,它会显示字节数组数据。
以下是相关的Java代码:
public String getImageDataBase64() {
L.debug("Sending base 64 data: {}", org.apache.commons.codec.binary.Base64
.encodeBase64String(imageData));
if (imageData != null) {
return "";
}
return org.apache.commons.codec.binary.Base64
.encodeBase64String(imageData);
}
/**
* @return the imageData
*/
public byte[] getImageData() {
return imageData;
}
为什么会发生这种情况的任何想法?
答案 0 :(得分:2)
从我看到你的代码按预期工作并返回一个空字符串。
在getImageDataBase64
方法中尝试替换此内容:
if (imageData != null) {
return "";
}
用这个:
if (imageData == null) {
return "";
}