2017-03-27 18 views
0

IM開發使用primefaces 6.0 wildfly 10 web應用程序,我的問題是:轉發請求與對一個頁面:outputpanel使其加載永遠

重定向到一個頁面,其中包含primefaces outputpanel導致outputpanel到加載永遠:通過重定向/ 我的意思是這樣的代碼:

RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/aboutUs.xhtml"); 
    dispatcher.forward(request, response); 

我會感謝所有幫助:d


經過一番測試,IG加時賽它: -lets說我派出requset到我的servlet中,requset得到forwared和一個漂亮的網頁,它返回

- 現在我outputpanel插件的javascript代碼試圖加載它的內容,所以它發送另一個請求

- 這一次的servlet我只是決定不轉發到同一頁面,或者我根本不轉發或...

問題是我沒有寫這個servlet(它的面的servlet在我的情況下,因爲即使faces-config.xml將不會做妓女)

回答

0

我所做的就是使用GA參數啓用/禁用outputpanel延遲加載這樣的:

 <p:outputPanel deferred="#{request.getParameter('lazy') == 'off'? false : true}"> 

然後我在自動轉發頁面中使用這樣的:

<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/login.xhtml?lazy=off</form-login-page> 
     <form-error-page>/login.xhtml?lazy=off</form-error-page> 
    </form-login-config> 
</login-config> 

其餘部分比任何Ajax調用確保這些網頁做的還應該包括這個參數,所以我已經添加這個參數在我的「更改語言」菜單項

<p:menuitem ...> 
    <f:param name="lazy" value="#{request.getParameter('lazy')}" /> 
</p:menuitem> 

現在這些網頁加載不加載延遲加載insdead永遠不是一個完美的解決方案但總比沒有好:D

這是我得到的最好主意:/