【问题标题】:Display an image in Java EE [closed]在 Java EE 中显示图像 [关闭]
【发布时间】:2015-10-24 22:21:17
【问题描述】:

我想在使用 JSF 2 但不使用 使用任何 servlet 的 Java EE 应用程序中检索和显示图像。

我已经从数据库中检索到日期为 Byte [] 但我不知道如何在 JSF 页面中显示图像。我尝试了DefaultStreamedContentByte[] 类型,但没有成功。

【问题讨论】:

  • 你能说得更具体些吗?标题并没有说明什么。到现在为止你完成了什么?发布一些代码以显示您需要帮助的地方。这个问题现在是一个很好的候选人,因为过于宽泛而被关闭。请尝试调整它。
  • 完成!我希望这样更有表现力!
  • 正如 Piotr 所说...您应该发布一些代码,以便我们可以重现您的问题/情况...您是否仅使用 JSF 或任何 3rd 方库,如主要面孔?你的支持豆看起来怎么样?和你的facelet页面?为什么不使用简单的 servlet?具体原因?

标签: image jakarta-ee jsf-2


【解决方案1】:

虽然不是 100% 清楚您到底在做什么,但 OmniFaces graphicImage 组件确实可以在不使用 Servlet 的情况下显示来自 Byte[] 的图像。

例如:

支持 bean:

 @Named
 @ApplicationScoped
 public class ImageStreamer {

     @Inject
     private ImageService service;

     public byte[] getById(Long id) {
         return service.getContent(id);
     }

}

页面:

<o:graphicImage value="#{imageStreamer.getById(1)}" />

请注意,这是一个简短的示例,实际上您不会将硬编码的 1 放在那里。

有关更完整的示例,请参阅:showcase.omnifaces.org/components/graphicImage

【讨论】:

    猜你喜欢
    • 2016-03-13
    • 2013-06-09
    • 1970-01-01
    • 2022-08-14
    • 2020-11-22
    • 2016-06-20
    • 2012-05-18
    • 2012-06-10
    • 1970-01-01
    相关资源
    最近更新 更多