環境配置: 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來實現--屬於暴力型