【问题标题】:How to display images located in glass fish folder?如何显示位于玻璃鱼文件夹中的图像?
【发布时间】:2013-11-27 16:46:12
【问题描述】:

我正在使用 JSF 和 glassfish 4.0。我知道项目的resources文件夹下的images目录下的所有图片都可以直接访问。我想知道如何显示位于 glassfish 文件夹中的图像。我在 glassfish 域下创建了一个图像文件夹,我想在 JSF 页面中显示这些图像。谁能让我知道我该怎么做?我是新手,所以需要一些帮助。

<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
    <property name="alternatedocroot_1" value="from=/images/* dir=/test/webapp" /> 
    <class-loader delegate="true"/>
    <jsp-config>
        <property name="keepgenerated" value="true">
            <description>
                Keep a copy of the generated servlet class' java code.
            </description>
        </property>
    </jsp-config>
</glassfish-web-app>

JSF 页面:

<header>
    <h:graphicImage id="banner" style="width:700px;height: 52px;"  
                    value="/images/header.jpg" />
</header>

【问题讨论】:

  • 我尝试在 glassfish-web.xml 和我的jsf页面中添加这个我添加了 。但这让我无法加载资源。谁能让我知道我错过了什么。 /test/webapp/images 是我在 c:/test/webapp/images 中创建的文件夹结构。谢谢。

标签: jsf jsf-2 glassfish-4


【解决方案1】:

根据 cmets,

我尝试在glassfish-web.xml中添加这个

<property name="alternatedocroot_1" value="from=/images/* dir=/test/webapp/images" /> 

假设您使用的是在 C:\ 上安装 GlassFish 的 Windows,那么此特定配置需要一个文件夹 C:\test\webapp\images\images,其中包含所有图像。

如果你确实有一个文件夹C:\test\webapp\images,那么你应该配置如下:

<property name="alternatedocroot_1" value="from=/images/* dir=/test/webapp" /> 

还请注意,这绝对与 GlassFish 安装文件夹或 web 应用程序的部署空间无关,因此 “我在 glass fish 域下创建了一个图像文件夹” 根据问题绝对会不能这样工作。

如果您实际上有一个C:\path\to\glassfish\domains\test\webapp\images 文件夹,那么您应该如下配置它:

<property name="alternatedocroot_1" value="from=/images/* dir=/path/to/glassfish/domains/test/webapp" /> 

另见:


更新:根据您之后在问题中编辑的glassfish-web.xml 内容,&lt;property&gt; 不应进入&lt;jsp-config&gt;,但必须是@987654335 的直系子级@。

【讨论】:

  • 我尝试了您提到的链接中的建议,但仍然无法获取图像。我无法理解我在这里缺少什么。我的项目名称是“TestProject”,所以当我说localhost:8080/TestProject/images/header.jpg 时,它给了我 404 错误。我在 c:/Program Files 上安装了 glassfish,所以这会导致问题。我也试过给玻璃鱼道,但没有用。我也尝试了你给我的建议,但仍然是同样的问题。可以请建议我在这里缺少什么。
  • 我试过了,它也说找不到页面。这是我尝试过的两种方法,如上所述在 C:/test/webapp 中创建 d anew 文件夹并将整个图像文件夹放在这里并在 glassfish/domains/domain1/applications 中做了同样的事情。在 JSF 页面中像这样访问它 。仍然无法弄清楚我在这里缺少什么。我还需要在 servlet 中编写任何内容以使其正常工作吗?
  • 只为我工作。不需要自定义 servlet。您确定您已正确清理 GlassFish 缓存/工作/部署文件夹吗?
  • 是的,我已经重新启动了服务器,但仍然没有工作。我实际上正在使用一个 maven 项目,我在 WEB-INF 文件夹中手动创建了 glassfish-web.xml。是不是导致错误。我已经编辑了问题并添加了我正在使用的 glasfish 和 jsf 代码。
  • 我也想知道,因为我使用的是 JSF 并且 glassfish-web.xml 有 jsp-config 标签,这是导致问题的原因吗?
猜你喜欢
  • 1970-01-01
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 2010-12-31
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 2013-03-15
相关资源
最近更新 更多