2012-08-02 66 views

回答

1

不,這是不可能的,因爲<a4j:jsFunction>將在HTML中創建一個javascript方法,該方法通過Ajax與服務器進行通信。相反,你可以做這樣的事情醜陋:

<h:form id="myForm"> 
    <a4j:jsFunction name="myJSFunction" action="#{myBean.jsLogic}" 
     oncomplete="document.getElementById('myForm:btnForward').click();" /> 
    <a4j:commandButton id="btnForward" style="display: none;" 
     action="#{myBean.doForward}" /> 
</h:form> 

在這種情況下,在你的js函數結束時,你會調用一個<a4j:commandButton>(也<a4j:commandLink>或任何其他h組件),可以做導航的方法。

0

嗯,這是不是真的向前邁進了,但你可以做一個重定向:

只要確保你的相應navigation-casefaces-config文件對應的標籤:

<redirect /> 

Ajax調用,然後進行瀏覽器將被重定向到指定的頁面。

這對於Luiggi的響應有兩個服務器調用ajax和重定向的缺點。

作爲優勢,它使得代碼更簡潔。