我想使用JSF 2在Java EE应用程序中检索和显示图像,但没有 使用任何servlet。
我已经从Byte []中检索了数据库中的日期,但我不知道我将如何在JSF页面中显示图像。我尝试了DefaultStreamedContent
和Byte[]
类型但没有成功。
答案 0 :(得分: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