环境配置: Orbeon 3.0beta4版本.
问题描述: 在OXF中, 如何使用redirect?
解决方案: 使用OXF提供的"oxf:redirect" Processor来实现.
实现技术点:
1. begin点的写法, 使用一个xpl来实现, xpl的写法如下:
...
<p:processor name="oxf:xslt">
<p:input name="data" href="#instance"/>
<p:input name="config">
<redirect-url xsl:version="2.0">
<path-info>http://localhost:8800/$HCRAgent/jump/dest</path-info>
<server-side>false</server-side>
<parameters>
<parameter>
<name>task</name>
<value><xsl:value-of select="/form/task"/></value>
</parameter>
</parameters>
</redirect-url>
</p:input>
<p:output name="data" id="redirect"/>
</p:processor>
<p:processor name="oxf:redirect">
<p:input name="data" href="#redirect"/>
</p:processor>
...
说明:
<path-info>: 目的地的url
<parameters>: 给出相应的参数
以上的xpl等价于: " http://localhost:8800/$HCRAgent/jump/dest?task=..."
2. 接收点page的写法
2.1 需要为page指定一个default-submission(若没有instance提交时, 使用这个instance)
2.2 在page下使用setvalue, 将url中的参数过滤到default-submission中.
总结:
在OXF中, 有两种页面流转的方式:
1. 使用Page-Flow来实现----标准方式
2. 直接使用redirect来实现--属于暴力型