【问题标题】:Server independent reference in an XPages themeXPages 主题中的服务器独立引用
【发布时间】:2012-03-09 14:17:04
【问题描述】:

我在主题中有以下内容,但我想让它独立于服务器,以便可以无缝地从开发到测试再到生产。

我如何泛化http://www.devserver.com

<resource>
    <content-type>text/css</content-type>
    <href>http://www.devserver.com/CommonElements.nsf/commonMAX.css</href>
</resource>

我会假设以下 - 但不起作用,因为它使引用相对于当前的 .nsf

<resource>
    <content-type>text/css</content-type>
    <href>/CommonElements.nsf/commonMAX.css</href>
</resource>

【问题讨论】:

    标签: xpages


    【解决方案1】:

    来自 Notes & Domino App Dev wiki 上的 article

    "当 XPages 运行时发出一个 URL 时,它假定根 "/" 是应用程序的根(例如 /mydb.nsf)。但是由于浏览器中不存在这个概念,因此由JSF 运行时。要解决此问题,请将语法 "/.ibmxspres/domino" 添加到路径的开头,以将根设置为 Domino 数据目录。"

    【讨论】:

    • 谢谢马克!也有人向我指出它在 Mastering XPages - pg。第597章
    【解决方案2】:

    在 Mastering XPages 的第 14 章中讨论了主题。从第 597 页开始,讨论了“资源路径”和三个关键路径的路径别名:

    /.ibmxspres/domino 指向:/data/domino/html/

    /.ibmxspres/global 指向:/data/domino/java/xsp/

    /.ibmxspres/dojoroot 指向:/data/domino/js/dojo-1.4.3/(或当前版本的dojo)

    所以你的块是:

    <resource>
       <content-type>text/css</content-type>
       <href>/.ibmxspres/domino/CommonElements.nsf/commonMAX.css</href>
    </resource>
    

    愉快的编码

    /新人

    【讨论】:

    • 很遗憾这个href属性的数据库名+路径无法计算?
    【解决方案3】:

    另一种选择是调查 OpenNTF.org 上的 XSP Starter Kit

    这将允许您为 XPages 构建一个 OSGi 插件库,并且您可以在该库中扩展的起始示例之一向您展示如何创建自己的 resourceProvider 服务。

    根据您如何将 XSP Starter Kit 重构为您自己的名称空间,您可以添加您的 css 和其他文件(常用图标、徽标等),然后您可以使用您自己的 /.ibmxspres/ 文件路径访问它们.yourNameSpace/file.ext。您甚至可以在库中构建自己的目录结构,以便更轻松地管理文件。

    与将它们存储在 NSF 中相比,这样做的一大优势是它们被最终用户浏览器缓存,而通过 nsf 提供的文件并不总是被缓存。

    此外,如果该库在服务器上设置为全局库,那么您不需要向调用应用程序添加依赖项,资源提供程序将可用于任何需要它的东西。

    【讨论】:

      【解决方案4】:

      如果您的应用程序位于根目录中,则此方法有效。 ./commonMAX.css

      【讨论】:

      • 对不起,这是我引用我的 css 的方式,它可以工作 intra_20120229.css
      猜你喜欢
      • 1970-01-01
      • 2012-01-20
      • 2017-03-20
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      相关资源
      最近更新 更多