【问题标题】:java ee resource namesjava ee 资源名称
【发布时间】:2014-04-12 10:44:01
【问题描述】:

我有一个 java ee 应用程序在 windows7 x64 上的 glassfish 4、JSF 2.2 下运行。 而且我注意到我的所有资源都带有一个额外的 .xhtml 扩展名。

例如:

/javax.faces.resource/bootstrap/css/bootstrap-theme.min.css.xhtml

而不是

/javax.faces.resource/bootstrap/css/bootstrap-theme.min.css

有什么方法可以去掉多余的 .xhtml 扩展名吗?

我想这样做是为了避免修改我使用的所有外部 js 和 css 库中的路径。

【问题讨论】:

    标签: jakarta-ee jsf-2 glassfish jsf-2.2


    【解决方案1】:

    你应该看看OmniFaces UnmappedResourceHandler

    此 ResourceHandler 实现允许开发人员将 JSF 资源映射到 /javax.faces.resource/* 的 URL 模式(基本上是 ResourceHandler.RESOURCE_IDENTIFIER 常量的值),而无需额外的 FacesServlet 前缀或后缀 URL 模式在默认生成的资源 URL 中,例如 /javax.faces.resource/faces/css/style.css 或 /javax.faces.resource/css/style.css.xhtml。此资源处理程序将生成未映射的 URL,例如 /javax.faces.resource/css/style.css。这样做的主要优点是开发人员不再需要 #{resource} EL 表达式来正确引用 CSS 文件中图像的相对 URL。

    另外,看看这个Prevent suffix from being added to resources when page loads


    您也可以使用以下方法从一个js 指向另一个js/css

    假设您要填充某个 js 对象的 cssjs 属性:

    css:    $(document).find("link[href*='my-third-party-plugin']").attr("href"),
    js:     $(document).find("script[src*='my-third-party-plugin']").attr("src")
    

    【讨论】:

    • 有很多来自 .css 和 .js 文件的图像和字体引用。问题是因为无法找到额外的扩展名。
    • 唯一的小改动是: Faces Servlet 在 web.xml 中替换了 facesServlet
    猜你喜欢
    • 1970-01-01
    • 2017-05-31
    • 2015-06-12
    • 2012-01-17
    • 2011-03-25
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多