我想在上传单个文件后重定向到另一个页面。源 xhtml 和目标 xhtml 位于同一目录中。我尝试在 fileUploadListenerMethod 中返回一个字符串:
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 扩展名,包括目录,...),但尚未成功。
我究竟做错了什么?