我有100个BufferedImage对象ArrayList,我想在一个jsp中显示所有这些图像。
BufferedImage
ArrayList
<% ArrayList<BufferedImage> list = GlobalData.getImageBufferArrayList(); %> </head> <body> <ul> <li><img alt="" src=""> </li>//image1 <li><img alt="" src=""> </li>//image2 <li><img alt="" src=""> </li>//image3 ... .. ... </ul> </body>
我不知道要在src这些图片上放什么
src
是否可以将图像数据作为src图像放置。(就像我们从canvashtml中获取图像数据一样)
canvas
或者是他们显示这些图像的任何体面方式。
您必须将图像文件嵌入HTML文档中,或者通过单独的HTTP请求使其可用。对于前者,您可以使用data:URI方案。对于后者,您必须提供一个单独的servlet,或在同一servlet中提供一个单独的代码路径,以提供图像文件。它可能是从一些短暂的缓存中执行的,因此您不必再次执行相同的代码即可获取这些图像。
data:
通常,嵌入数据的大小开销与图像的大小成正比,而单独的请求的资源开销与HTTP请求的数量成正比。对于小图像,前者可能更好,而对于大图像,后者会更快。实现嵌入应该比实现合理的图像缓存更容易,但是我不确定100%是否所有浏览器都支持数据方案。
无论哪种情况,您都必须BufferedImage先将序列化为某个字节序列,可能要ImageIO.write结合使用ByteArrayOutputStream。
ImageIO.write
ByteArrayOutputStream