jsf - 如何在不将图像写入磁盘的情况下在 JSF 中显示缓冲图像?

标签 jsf bufferedimage uicomponents

我有一个缓冲图像,我需要在 JSF 页面中显示它。 有没有可以直接显示缓冲图像的 UI 组件?我正在使用 JSF 2.2。

最佳答案

如果你只有缓冲图像,你可以使用 Omnifaces允许您通过将 byte[] 传递给组件来渲染图像的库

<o:graphicImage value="#{bean.image}" dataURI="true" />

如果您有缓冲图像,您可以像这样转换为字节数组:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write([image],[image_extension], baos);
byte[] imageToPassAsValueAttr = baos.toByteArray();

您还可以创建一个 servlet以获取请求的形式接收图像 ID,从那时起,您可以获取参数值、查找资源并将图像内容写入响应。

@BalusC 有一个很好的例子 here

关于jsf - 如何在不将图像写入磁盘的情况下在 JSF 中显示缓冲图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40436058/

相关文章:

design-patterns - JSF MVC 设计问题

jsf - 阻止野蝇 war 初始化 mojarra

使用 arquillian+omnifaces 运行测试时出现 java.util.ServiceConfigurationError

java - 从字节数组获取像素值

java - 字体度量字符串宽度与字符串长度

javascript - 如何将登录框打造成可重用的UI组件?

ajax - magento2:使用 Ajax 加载 uicomponent

java - 在哪里可以找到 JSFUnit 实际示例?

java - 使用 bufferedimage java 设置图像 src

JSF MethodExpression 没有触发我的支持 bean 操作