我正在尝试将orbeon 3.7升级到orbeon 3.9,我发现现在orbeon以一种不同的方式访问资源。
在orbeon 3.7中,我更改了WEB-INF/ressource/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/“文件夹”/“子文件夹”下
在3.9中,我以同样的方式配置page-flow.xml,我意识到如果我将应用程序复制到WEB-INF/ressource/apps/,它会找到css和图像,但这不是一个解决方案,因为我必须将我的应用程序放在两个不同的位置。
你知道如何配置orbeon 3.9,使其与orbeon 3.7的行为方式相同,或者至少将应用程序放置在与css和图像相同的文件夹中吗?
发布于 2012-10-16 23:54:57
我在orbeon 3.9文档中找到了这个解决我的问题的文档:
为资源预置的默认应用程序路径
now rewriting.app-prefix属性现在设置为/apps,而不是空白。
对于Orbeon Forms,如果您编写/ foo /bar作为页面的路径,这意味着访问/apps资源文件夹下的名为foo的应用程序。特别是,检索页面flow /apps/foo/ page -flow.xml。
另一方面,在Orbeon Forms3.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"/>问候
https://stackoverflow.com/questions/12901186
复制相似问题