繁体   English   中英

如何从Web应用程序的根目录引用Java Web应用程序中的任何图像?

[英]How do i refer to any image in my java web application from root of my web application?

我有一个名为Common/Images/Photounavailable.jpg的文件夹。 这是从根引用图像的正确方法吗? 我想从Web应用程序中任何文件夹中的任何页面引用此图像。

private String getPhotoUnavailablePath = "/Common/Images/PhotoNotAvailable.jpg";
    private String getPhotoUnavailablePath(){
        return photoUnavailablePath;
    }

在我的JSF页面上,我写了类似:-

<h:outputLink id ="blogPhoto" value="#{BlogBean.photoUnavailablePath}" >
  <h:graphicImage value="#{BlogBean.photoUnavailablePath}" style="width: 180px;height: 180px;"/>
</h:outputLink>

我得到要在h:graphicImage中看到的图像。 但是,当我单击它时,出现404错误。 OutputLink没有获得正确的图像链接。 这怎么可能? 该h:graphicImage获得正确的链接,而h:outputLink却没有?

此外,此代码可以完美运行:-

<h:outputLink id ="blogPhoto" value="..#{BlogBean.photoUnavailablePath}" >
  <h:graphicImage value="#{BlogBean.photoUnavailablePath}" style="width: 180px;height: 180px;"/>
</h:outputLink>

只需通过..就可以了! 谁能解释我发生了什么事,我该如何解决?

<h:graphicImage>使用上下文相对路径。
<h:outputLink>使用绝对路径。 这就是为什么您不能使用/ (除非在根上下文中)。

您可以使用类似

 value="#{facesContext.externalContext.context.contextPath}/#{bean.path}"

指定路径的开始是上下文根,而不是服务器根。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM