【问题标题】:jsf 2.0 - How to access resources (img, js, ..) from jar without having JSF folder Structurejsf 2.0 - 如何在没有 JSF 文件夹结构的情况下从 jar 访问资源(img、js、..)
【发布时间】:2012-10-02 23:18:35
【问题描述】:

我正在开发一个 JSF 2.0、Spring 3.1.1 项目。我为 Spring 3.1.1 MVC 创建了一个旧的 commons-resource-jar,其结构如下:

commons.jar
  • ---图片
    • --- myLogo.png
  • --- CSS
    • --- myStyle.css
  • --- js
    • --- myScript.js
      ..

不幸的是,这不是 JSF 2.0 ResourceHandler 正确处理此问题的结构。根据 JSF 2.0 的定义,文件夹结构应该是

commons.jar
  • --- 元信息
    • --- 图像
      + --- myLogo.png
    • --- CSS
      ...

如何配置我的 JSF 2.0 ResourceHandler 以便它可以处理来自旧资源库的初始文件夹结构?

【问题讨论】:

  • 我有一个自定义 ResourceResolver,但这不是对 img 或 css 文件作出反应,只是对 xhtml 文件作出反应。有什么想法吗?
  • 它们需要被<h:outputStylesheet library name><h:graphicImage library name>等引用。

标签: java spring-mvc jsf-2


【解决方案1】:

获取正在运行的应用程序实例并获取资源处理程序类并对其进行修改可能是一种方式。

javax.faces.application.ResourceHandler

【讨论】:

    【解决方案2】:

    如果您使用的是 Facelets 技术(JSF 2.0 可能就是这种情况),您可能需要使用自定义资源解析器。 查看this关于如何从默认结构之外加载资源的答案。

    【讨论】:

    • 我目前正在使用在 web.xml 中配置的自定义资源解析器。
      facelets.RESOURCE_RESOLVER
      com.mycompany.facelets.resource.ClasspathResourceResolver

      但它只解析 *.xhtml 而没有 *.jpg, *.css, ...
      有什么想法吗?
    • 我认为解决方案将是 faces-config 中的自定义 。有人知道是否存在能够处理上述文件夹结构的现有自定义 实现。
    猜你喜欢
    • 2011-03-16
    • 2010-11-19
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多