我想在單個文件上傳後重定向到另一個頁面。源xhtml和目標xhtml位於相同的目錄中。我已經嘗試在fileUploadListenerMethod中返回一個字符串:上傳完成後,Richfaces 4 fileUpload重定向
public String loadFills(FileUploadEvent event) throws Exception {
return "treeOrderRequestStatus";
}
但是這不會導致重定向。
我也試圖通過faces-config.xml中實現它:
<navigation-rule>
<from-view-id>/userpages/manualDataLoad.xhtml</from-view-id>
<navigation-case>
<from-action>#{manualDataLoader.loadFills}</from-action>
<to-view-id>/userpages/treeOrderRequestStatus.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/userpages/manualDataLoad.xhtml</from-view-id>
<navigation-case>
<from-outcome>treeOrderRequestStatus</from-outcome>
<to-view-id>/userpages/treeOrderRequestStatus.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
和這些都不奏效。
最後,我試圖執行由uploadcomplete事件觸發的鏈接:
<rich:fileUpload fileUploadListener="#{manualDataLoader.loadFills}"
maxFilesQuantity="1" createTempFiles="false" uploadLabel="Import Fill Data"
addLabel="Select Fill File">
<a4j:ajax event="uploadcomplete" execute="redirect"/>
</rich:fileUpload>
<h:link id="redirect" outcome="treeOrderRequestStatus"/>
,仍然沒有骰子。在這些嘗試中,我嘗試了多種指定目標頁面的不同組合(例如:包括.xhtml擴展名,包括目錄,...),但尚未成功。
我在做什麼錯?
'execute'屬性標記用於定義將請求發送到服務器的組件。你現在可以嘗試類似' ' –
2012-07-18 15:18:23
@LuiggiMendoza - 感謝您的建議,不幸的是,這也沒有奏效。它似乎刷新頁面,但它不會導航到其他頁面(我嘗試了很多指定其他頁面的組合)。 – 2012-07-18 15:41:24
嘗試改變它爲' '(但這不是一個好的解決方案,但它可以工作)。 –
2012-07-18 15:54:47