无法显示外部主机映像

时间:2015-01-23 12:55:42

标签: image jsf external

我无法在JSF页面上显示外部主机的图像。在我的例子中,它是Apache文件服务器。我正在@RequestScoped bean中创建图像URL,然后尝试将其作为@ViewScoped bean中的String传递给前端。

我试图以两种方式显示图像: 首先加载JSF:

<h:graphicImage name="#{myViewScopedBean.myObject.mainImageUrl}" />

然后使用此answer中引用的html <img>标记。

之后我尝试打印myObject的所有属性。 除mainImageUrl外,所有String属性都显示良好。而且我100%确定我在后端设置mainImageUrl

什么可以引发这个问题?有没有安全的JSF配置?

1 个答案:

答案 0 :(得分:1)

name的{​​{1}}属性应代表JSF资源名称,而不是URL。 JSF资源在其他How to reference CSS / JS / image resource in Facelets template?中进行了解释如果您打算指定一个真实的URL,那么您应该使用<h:graphicImage> attribtue,或者仅使用纯HTML value

所以,

<img>

或者

<h:graphicImage value="#{myViewScopedBean.myObject.mainImageUrl}" />

如果仍然无效,那么显然网址是完全错误的。验证生成的HTML输出和浏览器的内置HTTP流量监视器(按F12)。您应该能够通过将该URL直接复制到浏览器的地址栏中来独立打开图像。