为什么使用在一个jsp中img不能循环读取另外一个jsp作为显示图片!!
下面这个页面先session这个student对象
<%
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显示的图片是不同的,可是就是全部都是最后一个学生的照片,学生信息没有错。希望高手们给点建议和提醒,是不是代码的执行顺序有什么不对啊还是其他的原因,小弟我不懂,先谢谢了