我有一个包含 imageIcon 的对象,在 jsf 页面中,此行假设显示 img
<h:graphicImage value="#{myObj.img }"></h:graphicImage>
现在在 myObj 中,getImg 方法将 img 的路径作为字符串返回,当在 chrome 中输入视图源时,我看到了 img 的完整路径,但没有显示 img。
有什么建议么?
显然您刚刚返回了一个无效的 URL,或者您误解了图像 URL 是如何相对于当前页面的 URL 进行解析的。
首先,您需要确定图像的绝对 URL。它应该是您在浏览器地址栏中看到的要获取图像时的 URL,例如:
如果这返回一个有效的图像,那么您应该确保该<h:graphicImage>
值最终以相同的路径结束:
<img src="/contextname/images/foo.png" />
您可以通过以下方式实现:
<h:graphicImage value="#{myObj.img}" />
where#{myObj.img}
必须返回字符串"images/foo.png"
。