美好的一天,
我上传了一个图片文件并将其存储在oracle数据库中。在Oracle SQL Developer中,图像数据显示为“(BLOB)”。
现在我想从我的数据库中检索一些数据并在jsp中显示。以下是我的actiaon.java文件代码的一部分:
thisForm.setCampaignName(cbo.getCampaignName());
thisForm.setImageDisplay(cbo.getImage());
以下是我在form.java文件中的代码的一部分(getter setter方法):
private String campaignName = null;
private byte[] imageDisplay = null;
public String getCampaignName() {
return campaignName;
}
public void setCampaignName(String campaignName) {
this.campaignName = campaignName;
}
public byte[] getImageDisplay() {
return imageDisplay;
}
public void setImageDisplay(byte[] imageDisplay) {
this.imageDisplay = imageDisplay;
}
以下是我的jsp文件中代码的一部分:
<td class="value"><html:text property="campaignName" size="50" maxlength="50" /></td>
<td class="value"><bean:write name="campaignListingForm" property="imageDisplay" /></td>
campaignName
在浏览器中显示正确,因为我键入并存储在oracle数据库中。但是,图像无法正确显示
它只是在我的浏览器中显示[B@5df25df2
字。
我认为使用JSP显示图像时出错了。
请告知。
答案 0 :(得分:0)
图像是二进制数据。您无法直接在页面中显示它。你必须在你的页面中有一个IMG标记,其 src 属性设置为struts动作中的另一个方法,该方法检索图像id(附加在src属性中图像url的末尾),取出给定图像并使用适当的mime /类型将其发送到客户端。所以序列如下: