Spring MVC JSP没有正确显示输出

时间:2014-05-22 16:53:55

标签: spring jsp model-view-controller

我在带有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;
}

为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:2)

从我看到你的代码按预期工作并返回一个空字符串。

getImageDataBase64方法中尝试替换此内容:

if (imageData != null) {
    return "";
}

用这个:

if (imageData == null) {
    return "";
}