我有一个图像byte[]
,这byte[]
来自LDAP [Oracle Open LDAP身份验证提供程序],我需要显示此图像到页面中。网页:从字节数组显示图像
我怎样才能做到这一点?
我可以使用javax.faces.context.ResponseWriter
写byte[]
或者我应该从javax.faces.context.FacesContext
提取java.io.OutputStream
一个实例,写byte[]
到页面。
如果这些方法中的任何一个是可能的,那么我可以或许可以创建自定义的JSF标签,以显示图像,并尝试在javax.faces.render.Renderer
,其中byte[]
将是encodeBegin(FacesContext context, UIComponent component)
方法执行映像创建作为属性发送。
我可以为此使用Servlet吗?其实我不知道我是否可以从af:image
的source
属性中调用一个Servlet。
如果我得到您的建议,这对我非常有帮助。
谢谢。
谢谢。我的理解是创建一个自定义标签 - >使用writer来启动img tag->将url添加到href属性到servlet->关闭标签,并在该servlet的doGet中使用outputstream编写图像。我对吗? – 2012-03-22 17:27:14
@TapasBose:是的,没错。 href应该只有足够的信息来获取数据,例如在URL中添加一个ID。您不需要将图像本身作为创建页面的一部分来获取。 – 2012-03-22 17:34:56
谢谢。我会尽力实施它,并会让你知道。 – 2012-03-22 17:43:08