【问题标题】:Missing resources after changing faces mapping换脸映射后缺少资源
【发布时间】:2013-07-02 16:59:47
【问题描述】:

我的脸 url-pattern 是这样的:

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>

以及第三方jar中META-INF/resources/images下的一些图片资源。我的 CSS 文件曾经引用这样的图像:

.ui-icon16-users { background-image: url('images/icon16_users.png') !important; }

它曾经工作过。

但是当我将 url-mapping 更改为

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

所有图片都丢失了,我尝试了每个 URL 组合来找到它们。

更改 url 模式后我有什么遗漏吗?谢谢。

【问题讨论】:

  • 这是一个 Maven 项目吗?
  • 是的。但我已经解决了这个问题,我会在几分钟后发布解决方案。

标签: java jsf


【解决方案1】:

我所要做的就是改变:

.ui-icon16-users { background-image: url('images/icon16_users.png') !important; }

.ui-icon16-users { background-image: url("#{resource['images/icon16_users.png']}") !important; }

我希望它可以帮助其他有同样问题的人。

【讨论】:

    【解决方案2】:

    要更改 JSF servlet 映射,请始终使用Prettyfaces。它独立于您的资源文件夹。 JSF 资源始终使用 URL 的相对路径。因此,将您的 CSS url 更改为 #{resource['images/icon16_users.png']}url(resources/images/icon16_users.png')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-29
      • 2017-12-29
      • 2016-04-02
      • 1970-01-01
      • 2021-08-11
      • 2011-03-09
      • 1970-01-01
      • 2014-01-25
      相关资源
      最近更新 更多