1

我正在尝试将 orbeon 3.7 升级到 orbeon 3.9,我发现现在 orbeon 以不同的方式访问资源。

在 orbeon 3.7 中,我像这样更改了 WEB-INF/ressources/page-flow.xml:

  <!-- Dispatch request to a specific application -->
  <page id="apps" path-info="/([^/]+)/([^/]+)/([^/]+).*" matcher="oxf:perl5-matcher" model="/${1}/${2}/${3}/page-flow.xml"/>

以这种方式访问​​ 127.0.0.1:8080/orbeon/myapp/user/role

但是使用这种配置 orbeon 3.9 没有找到 css 和图像

我的应用程序位于 WEB-INF/ressources/myapp/"folder"/"subfolder" 下

在 3.9 中,我以相同的方式配置 page-flow.xml,我意识到如果我将应用程序复制到 WEB-INF/ressources/apps/ 它会找到 css 和图像但不是解决方案,因为我必须将我的应用程序放入两个不同的位置。

知道如何配置 orbeon 3.9 使其行为方式与 orbeon 3.7 相同,或者至少将应用程序放置在与 css 和图像相同的文件夹中?

4

1 回答 1

1

我在解决我的问题的 orbeon 3.9 文档中找到了这个:


为资源预置的默认应用程序路径

oxf.url-rewriting.app-prefix 属性现在设置为 /apps 而不是空白。

使用 Orbeon Forms,如果您将 /foo/bar 作为页面路径写入,这意味着可以访问 /apps 资源文件夹下名为 foo 的应用程序。具体来说,检索页面流 /apps/foo/page-flow.xml。

另一方面,在 Orbeon Forms 3.9 之前,如果您编写 /foo/bar.gif,则在 /foo/bar.gif 而不是 /apps/foo/bar.gif 下搜索资源。

如果您想将资源与页面一起存储,这会迫使您将 /apps 预先添加到所有资源路径,而不是页面路径。

对 oxf.url-rewriting.app-prefix 属性的更改通过在缺少 /apps 前缀时自动添加来解决该问题。要使此功能正常工作,所有非平台(即非 Orbeon)资源,包括 CSS、JavaScript 和图像,都应位于 /apps/[application] 下的应用程序旁边。

您可以通过在 properties-local.xml 中将属性设置为空字符串来关闭此功能:

 <property as="xs:string" name="oxf.url-rewriting.app-prefix" value="/apps"/>

问候

于 2012-10-16T15:54:57.183 回答