hibernate显示图片

来源:互联网 发布:融资租赁公司新车数据 编辑:程序博客网 时间:2024/04/30 11:35

/**
  * 查询图片,在Dao中
  * */
 public byte[] queryPhoto(String id) {
  byte[] b = null;
  List l = null;
  try {
   session = HibernateSessionFactory.getSession();
   Transaction tran = session.beginTransaction();
   Query q = session
     .createQuery("select new Project(ppicture) from Project where id=? and xdelete=0 ");
   q.setString(0, id);
   l = q.list();
   System.out.println("photo size"+l.size());
   Project s = (Project) l.get(0);
   b = s.getPpicture();
   tran.commit();
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   HibernateSessionFactory.closeSession();
  }
  return b;
 } 

/**在Action中*/

public class ProjectShowPictAction extends Action {

 public ActionForward execute(ActionMapping mapping, ActionForm actionform,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  String id=request.getParameter("id");
   byte[] photo=null;
   ProjectDao pd=new ProjectDao();
   if(id!=null&&!"".equals(id)){
    photo=pd.queryPhoto(id);
    if(photo!=null){
     response.setContentType("image/*");
    response.getOutputStream().write(photo);
    response.getOutputStream().close();
    }
   }
 return null;
 }
}

/**在jsp页面中*/

<html:form action="/projectedit" enctype="multipart/form-data">

<img src="projectshowpict.do?id=<bean:write name="projectdetailform" property="pid" />" width="100" height="100"/> </td>