当前页面: 开发资料首页 → JSP 专题 → struts框架下,将数据库中的BLOB数据显示到JSP上的问题
struts框架下,将数据库中的BLOB数据显示到JSP上的问题
摘要: struts框架下,将数据库中的BLOB数据显示到JSP上的问题
现有一些图片数据,以BLOB类型保存在ORACLE数据库中。现欲将这些数据输出到JSP上显示出来,有朋友提示我如下操作:
**********************************
可以通过formbean的对象处理。
数据库中取出的数据通过formbean传到页面,在form中声明多个变量分别存放,就不会有问题;
例如:
private BLOB pic1 = null;
private BLOB pic2 = null;
下面是get、set方法
在eclipse中可以生成的
stusts框架下基本上都这样处理
***********************************
但是,我还是有些不明白,在JSP中该如何显示pic1和pic2呢?
PS:如果在一个空白网页中只输出显示一个图片的话,我基本上已经办到,现在需要解决的是如何在同一个网页中输出显示多个图片。
请高手指教,谢谢!
自己顶
viewPic.jsp
------------
------------
pic1.jsp pic2.jsp 是输出图片的JSP
哦。楼上的这个办法倒是也行...
谢谢了
散分拉,散分拉,帮顶也给分。人数差不多了就结贴。
呵呵,帮顶加学习。
学习学习,接分
如果有十张,二十张照片该怎么办呢?
你可以写个servlet,从页面中取关键字将存在oracle中的文件流读取出来,显示在页面上,
这样就不受条数的约束
谢谢楼上的朋友。
我本来就试图用JSP将文件流读出来,然后显示在网页上。但是,如果只读一个图片出来,倒是很正常,如果读多个图片出来,则它们会发生重叠,最终显示在页面上的图片就只有最后一个。
这个问题该怎么解决呢??
实在没辙,我就采用笨办法,首先把图片读出来并写到硬盘上,然后用把它们显示出来。
写个函数用流来解决:
public String getBlobToString(oracle.sql.BLOB blob) throws SQLException, IOException {
String sResult = null;
if (blob != null){
Reader reader = blob.getCharacterStream();
StringBuffer sbTemp = new StringBuffer();
BufferedReader buffReader = new BufferedReader(reader);
char[] cbuftemp = new char[1000];
while ((buffReader.read(cbuftemp)) != -1) {
sbTemp.append(cbuftemp.clone());
}
sResult = sbTemp.toString();
}
return sResult;
}
在你的JAVABEAN里用这个方法获得JSP所需的值。
另外,我的BLOG里还有关于ORACLE的PL-SQL的东西,有兴趣可以去看看:
http://www.blogjava.net/lbx19822004
谢谢楼上的朋友!
OK,结贴,散分!