2011-11-20 229 views
0

我寫了兩頁...一個表單提交數據,第二個只是確認事務進行了一些計算。JSF頁面導航失敗,出現NullPointerException

我有一個託管bean,即FormDataBean和一個類Reservation.java,我從中實例化每個預訂。現在我在表單末尾提交一個提交按鈕:

<h:commandButton value="Submit" action="confirmation"/> 

在bean中我有setters和getters像往常一樣。在方法I I所定義創建預約的一個實例,然後將豆變量實例variabels,像

reservation.startDate = startDate; 
reservation.endDate = endDate; 
reservation.checkRange(); 

最後一種方法,即checkRange()將使用所分配的值,以實例變量進行計算。它應該返回一個字符串成功或失敗。

現在,當我在表單中輸入數據,並按下提交,它只刷新頁面,但沒有提交。因爲它沒有進入下一頁:( 任何想法發生了什麼?我不需要定義一個導航規則,因爲在其他項目中,我在下一頁進行簡單的計算和顯示結果,並且它崇拜!建議 謝謝,

回答

0

你缺少告訴我們一些重要的細節,因此答案是一種猜測。

當你不使用導航規則我假設你使用JSF 2,AREN如果你的結果文件名爲confirmmatio,那麼轉發到「確認」應該可以工作。 n.xhtml。檢查一下。有了導航規則,你可以轉發它做一個不同的文件。

這部分應該工作,不管其餘。

對於沒有得到任何值的bean,請確保您通過註釋或在您的faces-config.xml中輸入正確的作用域。由於你有一個非常不尋常的驗證機制,你可能不得不使用會話範圍。

正確的方法是使用一個actionlistener執行您的檢查,然後根據您的檢查設置導航。那麼bean的作用域可能會更加嚴格。

0

您是否嘗試了action =「confirmation?faces-redirect = true」?