在jsf web应用程序上显示动态生成的图像。

时间:2011-05-24 12:49:35

标签: http jsf servlets

我有一个应该显示一些图像的网络应用程序(JSF 2.0)。

我在this线程中读取并实现了一个图像servlet来将图像发送到客户端。 问题是,我没有在硬盘上使用数据库或固定位置,只是一个返回字节[]的后备java方法(对于讨论,让我们说它是在运行中生成的)

我想知道是否有针对此问题的“标准”解决方案,即如何在网页上显示动态生成的图像?

更新 我最终决定使用RichFaces MediaOutput组件。 在我看来,标记为正确的答案对于大多数情况来说更加强大和更好。

1 个答案:

答案 0 :(得分:1)

byte[]代码生成逻辑从辅助bean移动到映像servlet。支持bean用于生成byte[]的所有基本参数都应作为请求参数传递给映像servlet。 E.g。

<img src="imageservlet?param1=#{bean.param1}&param2=#{bean.param2}" />

如果由于某种原因而确实不是一个选项,那么最好的办法就是让支持bean将这些映像临时存储在临时磁盘或会话上,然后将其标识符作为请求参数传递给所以servlet可以找到它并将其写入响应主体。