程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jsp用流從數據庫讀取圖片, 如果有圖片就顯示,沒有則顯示默認的圖片

jsp用流從數據庫讀取圖片, 如果有圖片就顯示,沒有則顯示默認的圖片

編輯:關於JSP

[size=medium]數據庫中存放的頭像是byte[] 字節的,在jsp頁面上根據用戶的id用流從數據庫中讀取圖片。但是如果用戶沒有頭像的話,那麼在頁面上顯示的就是一個圖片的小白框框,難看死了,所以如果用戶沒有頭像的話,就給用戶一個默認的頭像。
在User類中:
Java代碼    
1. private byte img[]; 

在UserAction類中:
Java代碼    
1. ClientUser user = new ClientUser();  
2. user=UserService.getUserByUserId(sqlSession,user);              request.getSession().setAttribute("LoginUserImg", user.getImg().length);  
3. //在這裡需要用byte[]對象的length屬性判斷是否存放了圖片,如果length為0,那麼就沒有圖片,反之則有。 

在jsp頁面中:
Java代碼    
1. <c:if test="${LoginUserImg==0 }">  
2.                     <img src="${pageContext.request.contextPath }/images/head.jpg" 
3.                         alt=" " width="100" height="118" align="middle" />  
4.                 </c:if>  
5.                 <c:if test="${LoginUserImg!=0 }">  
6.                     <img  
7.                         src="userImg.jsp?id=${id}" 
8.                         alt="${id}" 
9.                         width="100" height="118" align="middle">  
10.                 </c:if> 

userImg.jsp:
Java代碼    
1. <%@page contentType="image/jpeg; charset=utf8"%>  
2. <%@page import="java.io.OutputStream"%>  
3. <%  
4.     String id = request.getParameter("id");   
5.     Boolean ret = true;  
6.     id = id == null ? "" : id.trim();  
7.     userId = userId == null ? "" : userId.trim();  
8.     OutputStream os = response.getOutputStream();  
9.     if (!id.isEmpty()) {  
10.  
11.         ret =UserService.getUserImgById(  
12.                 id, os);   
13.     }    
14.     os.flush();  
15.     os.close();  
16.     os = null;  
17.     response.flushBuffer();//下面這三句是一定要加上的,否則就會報錯。  
18.     out.clear();  
19.     out = pageContext.pushBody();  
20. %> 

 

摘自 0609xiaohua

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved