我有一个graphicImage,它从Servlet中获取值(称为“图片”-它动态地提供服务器上存储的图像)。

当Servlet返回null(未找到图像)时,我想隐藏graphicImage。 我尝试使用FacesContext.getCurrentInstance()。getExternalContext()。getResource(),但即使对于正确的URL,它也会返回null。

 <h:graphicImage value="/picture?name=#{myBean.name}" />

#1楼 票数:0

如果我误解了你,那就对不起。

我建议两种方法来隐藏此图像:

  1. 您可以检入任何ControllerBean(myBean或...)是否存在该图像,并将渲染的Property传递给JSF UI:

    <h:graphicImage value="/picture?name=#{myBean.name}" rendered="pictureControler.isFound"/>

  2. 或仅将alt =“”添加到该图像,那么该图像将不会显示。

    <h:graphicImage value="/picture?name=#{myBean.name}" alt=" "/>

注意:最后一个未经测试,但我认为应该可以。

  ask by Igor translate from so

未解决问题?本站智能推荐:

1回复

可以显示单个“o:graphicImage”图像,但不能显示多个图像

可以选择单个图像并使用这两个显示它: 如果我尝试创建多个图像(使用 OmniFaces Showcase https://showcase.omnifaces.org/components/graphicImage ): 和: 我得到: 我使用的是: PrimeFace(精英)10.0.0 Mo
1回复

使用Servlet和h:graphicImage显示存储在PostgresSQL中的图像列表

这个问题已经在这里有了答案 : 4年前关闭。 当我使用o:graphicImage时,图像不显示 (1个答案) 我无法显示数据库中的图像,它们被存储为bytea,并且正在这样映射它们: 我
1回复

当我使用o:graphicImage时,图像不显示

我无法显示数据库中的图像,它们被存储为bytea,并且正在这样映射它们: 我可以毫无问题地将所有图像存储在数据库中。 问题是当我想在p:dataTable中显示它们时,如下所示: 我正在使用基于BalusC代码:ImageServlet的流光 ,并且尝试使用o:graphicImage
1回复

影像不必要地显示在事件虽然没有提供资源目录中的图像名称

我已经将一些图像存储在webroot\\resources\\fileUpload\\product_image\\thumb目录下,以便可以按以下方式将这些图像显示在<p:graphicImage> 。 如果未提供图像名称即138504702126537326550063259
1回复

如何显示替代文字在PrimeFaces?

我在<p:graphicImage>上显示图像,这些图像存储在webroot\\resources\\fileUpload\\product_image\\thumb目录下,如下所示。 row指的是存储在java.util.List<Entity>的JPA实体对象,该
1回复

如何在jsf标签graphicImage中添加多个事件

如何在jsf标签graphicImage中添加一个以上的事件? 我想区分鼠标左键,鼠标右键和双击。 该想法是要执行以下操作:
1回复

o:graphicImage抛出java.lang.IllegalArgumentException:参数类型不匹配

我无法显示数据库中的图像,它们被存储为bytea,并且正在这样映射它们: 这是pk的可嵌入类 : 我可以毫无问题地将所有图像存储在数据库中。 问题是当我想在p:dataTable中显示它们时,如下所示: 我正在使用基于BalusC代码:ImageServlet的流光 ,并且尝试使用
1回复

在相对于另一个组件的特定位置显示ap:overlayPanel(p:graphicImage)

使用<p:overlayPanel>以显示<p:fileUpload>中,当<p:graphicImage>被点击如下。 单击给定的<p:graphicImage> ,在<p:overlayPanel>中将显示<p:fileU