在SSH架构下,我已经实现从mysql数据库的图片存入和 读取出来,但是现在的一个问题是, 读取出来并显示在jsp页面上的并不是预想中的那样显示,它显示是整个页面显示了这个照片,我是想让它在表格里显示,可是不行,它一显示就是整个页面只有那张照片,没有我想要的表格显示,希望得到各位有识之士的热心解答,谢谢。我在jsp中的读取并显示的代码是
<% Studentdata student=(Studentdata)request.getAttribute("student");%>
<table border="1">
<tr>
<td>姓名:</td>
<td>照片:</td>
</tr>
<tr>
<td><%=student.getSName()%></td>
<td> <% //预想让这段代码显示图片在这个表格中
response.setContentType("image/jpeg");
OutputStream sout = response.getOutputStream();
InputStream in = student.getSPicture().getBinaryStream(); //这里读取照片
byte b[] = new byte[in.available()];
int len=0;
while ((len = in.read(b))!= -1) {
sout.write(b,0,len);
}
sout.flush();
sout.close();
in.close();
%>
</td>
</tr>
</table>
<% Studentdata student=(Studentdata)request.getAttribute("student");%>
<table border="1">
<tr>
<td>姓名:</td>
<td>照片:</td>
</tr>
<tr>
<td><%=student.getSName()%></td>
<td> <% //预想让这段代码显示图片在这个表格中
response.setContentType("image/jpeg");
OutputStream sout = response.getOutputStream();
InputStream in = student.getSPicture().getBinaryStream(); //这里读取照片
byte b[] = new byte[in.available()];
int len=0;
while ((len = in.read(b))!= -1) {
sout.write(b,0,len);
}
sout.flush();
sout.close();
in.close();
%>
</td>
</tr>
</table>
解决方案 »
- 开发网站时,dao,bmo,smo文件夹都是做什么的?
- webserverice 异常信息的问题,高手请进。。
- struts2+spring+hibernate都用什么jar包,不是用myeclipse导入的那些。手动加都需要什么包?
- 关于下拉菜单的问题
- 一个jsp中使用taglib的示例,编译出错.请指教
- jsp异常的问题 高手指点
- 关于在bean中嵌入<%@include file="">标签的问题
- 一个web应用增删改需要同步到另一个系统怎么做啊?
- jsp中何时用""(双引号)和''(单引号)呢?请指教,谢谢.
- 获得数据表字段名?
- 关于struts2.0.9版本里面action报错!
- hibernate中的session问题
具体我也不太了解,O(∩_∩)O~
<%
for(int i=0; i<nn; i++)
{
student[i] =(Studentdata)request.getAttribute("aa"+i); //循环获取值变量名自动加i;
session.setAttribute("student",student[i]);
%>
<tr>
<td><%=student[i].getSId() %></td>
<td><%=student[i].getSName() %></td>
<td><%=student[i].getSSex()%></td>
<td><%=student[i].getSAddress() %></td>
<td>
<img src="picture.jsp"/> //在在这里预想能够通过picture.jsp读取照片显示出来在这个页面,因为每次到这里就循环读取一次信息
</td>
</tr>
然后再新建一个picture.jsp用来显示照片
<% Studentdata student=(Studentdata)request.getAttribute("student");%>
<table border="1">
<tr>
<td> <% //预想让这段代码显示图片在这个表格中
response.setContentType("image/jpeg");
OutputStream sout = response.getOutputStream();
InputStream in = student.getSPicture().getBinaryStream(); //这里读取照片
byte b[] = new byte[in.available()];
int len=0;
while ((len = in.read(b))!= -1) {
sout.write(b,0,len);
}
sout.flush();
sout.close();
in.close();
%>
</td>
</tr>
</table>
我是想查询所有学生的信息,并显示每个学生的对应照片,可是结果是所有的照片都是最后一个学生的照片,我确定所有的照片不是一样的。我预想是让一个循环,每次循环都session.setAttribute("student",student[i]); 那继续执行代码的话,按理img显示的图片是不同的,可是就是全部都是最后一个学生的照片,学生信息没有错。希望高手们给点建议和提醒,是不是代码的执行顺序有什么不对啊还是其他的原因,小弟我不懂,先谢谢了