2
A
回答
6
這不可能直接與<h:graphicImage>
。它只能指向一個URL,而不是指向byte[]
或InputStream
。基本上,您需要確保這些字節可作爲給定URL上的HTTP響應直接使用,然後您可以在<h:graphicImage>
(甚至純HTML頁面<img>
)中使用這些響應。
假如你被它的ID識別,像這樣的形象:
<h:graphicImage value="/image/#{someBean.imageId}" />
這裏有這樣一個Servlet的開球例如:
@WebServlet("/image/*")
public class ImageServlet extends HttpServlet {
@EJB
private ImageService service;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Long id = Long.valueOf(request.getPathInfo().substring(1));
Image image = service.find(id);
response.setContentType(getServletContext().getMimeType(image.getName()));
response.setContentLength(image.getBytes().length);
response.getOutputStream().write(image.getBytes());
}
}
一個更高級的靜態資源的抽象模板支持HTTP緩存的servlet可以在this answer中找到,以及數據庫服務的具體示例。
如果您恰好在JSF 2.2 + CDI環境中使用JSF實用程序庫OmniFaces,則可以改爲使用其更直觀的<o:graphicImage>
。
<o:graphicImage value="#{imageBean.getBytes(someBean.imageId)}" />
@Named
@ApplicationScoped
public class ImageBean {
@EJB
private ImageService service;
public byte[] getBytes(Long imageId) {
return service.getImageBytes(imageId);
}
}
相關問題
- 1. 從silverlight中以字節[]的形式顯示數據庫中的圖像
- 2. JSF/primefaces以代碼形式顯示圖像 - 圖像位置?
- 3. 以網絡形式在圖像按鈕上顯示數據庫中的圖像
- 4. 如何在iPad中以圖像的形式顯示圖像?
- 5. 使用Jsf圖形圖像標記顯示圖像onclick
- 6. 從數據庫顯示字節作爲圖像在javafx imageview
- 7. 使用JSF以網格的形式顯示圖像
- 8. 以墊子形式顯示圖像
- 9. 以Django形式顯示圖像
- 10. 以列表形式顯示圖像
- 11. 以更新形式顯示圖像
- 12. 將matplotlib圖形保存爲數據庫中的圖像字段
- 13. 如何顯示在條形圖的數據作爲每下面圖像
- 14. 在html控件中顯示以字節數組形式存儲的圖像
- 15. 顯示圖像url中的文本和圖像形式json?
- 16. 顯示作爲圖庫存儲在數據庫中的圖像
- 17. 將多個圖像作爲字節數組轉換回圖像xamarin形式
- 18. 將圖像從字節數組加載到圖形視圖中
- 19. 如何在informix數據庫中讀取以字節形式存儲的圖像?
- 20. 顯示圖像形成數據存儲
- 21. 隨着Reportgrid作爲圖形庫如何顯示圖像,而不是形狀在線圖的數據點
- 22. 在圖像視圖中顯示圖像的字節數組
- 23. 的Rails 3 - 如何從形式顯示數據庫中的圖像
- 24. 從sql數據庫檢索圖像(字節數組)並顯示圖像
- 25. 從SQL Server數據庫獲取圖像url以顯示圖像
- 26. 以格子形式顯示的Android圖像庫
- 27. 在TensorFlow中顯示圖形圖像?
- 28. 如何以縮略圖形式在datagridview中顯示圖像
- 29. Django形式上傳圖像 - 形式數據作品除了圖像
- 30. 顯示從數據庫到結果頁面的圖像
我只有從數據庫中沒有其他的字節數組,我使用JSF,所以我只有managedBean,你能幫助我與 – user3364181
是肯定。有關兩種可能方式的啓示示例,請參閱上面的答案。只要有必要就改變它們以適應你的情況。 – BalusC
@Balus請問什麼數據類型或從哪個包圖像是在Image image = service.find(id);該行上的圖像是一個字節[],一個Blob或其他東西?謝謝 – p3ace