在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>

解决方案 »

  1.   

    你用frame试试,在那个表格里面
    具体我也不太了解,O(∩_∩)O~
      

  2.   

    已经解决了 ,完成了从数据库存取图片,也能够用frame实现图片在表格中正确显示,不过在<img />这个显示图片的的区域好像无法传递一个参数给另一个页面并随时接收这个页面显示出来。如果使用循环调用另一个页面在<img/>中显示出来的话,只能显示最后一个页面的效果,都是返回一个同样的页面,并且是最后一个。
      

  3.   

    恩,自己解决了更好了!<img 里面的地址,就是你的一个代码。
     
      

  4.   

     我的解决办法是在下面这个页面先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显示的图片是不同的,可是就是全部都是最后一个学生的照片,学生信息没有错。希望高手们给点建议和提醒,是不是代码的执行顺序有什么不对啊还是其他的原因,小弟我不懂,先谢谢了
      

  5.   

    忘了加个  <% }%>,在整个表格后面,第一段代码那