2011-11-21 65 views
1

我是JSF的新手。我有3個級聯的SelectOneMenu,即國家,州和城市。功能是當選擇國家時,應用程序狀態被填充,並且當選擇州時填充城市。 我正在使用a4j:支持標籤來實現它。我的託管bean在請求範圍內,並且是由spring管理的bean。 我已經爲CountriesChanged(),StatesChanged()和CitiesChanged()編寫了ActionListener。級聯下拉菜單使用a4j支持

在我的應用程序中,當選擇國家時,操作事件被觸發並且狀態被填充。 但是,當一個狀態改變時,它會拋出「驗證錯誤:值無效」

如果有人指導我正確的方向將是有益的。

+0

你可以發佈jsf頁面和支持bean源? –

回答

1

您需要在表單提交請求期間準備與在表單顯示請求期間完全相同的狀態列表。 JSF將根據可用項目列表重新驗證提交的值。在請求作用域bean的情況下,你必須在bean的(後)構造函數中準備它。另一種方法是將bean放入新的JSF 2.0視圖範圍,以便在您針對相同視圖提交表單時不會重新創建bean。

+0

感謝您的回覆。由於我的bean是彈簧管理的,我嘗試在init方法中準備狀態。但仍然沒有運氣。你能否給我提供任何代碼片段。 – bond

+0

對不起,我不能詳細介紹,因爲我不使用Spring。就此而言,您應該根據所選國家準備完全相同的州名單。所選國家應作爲請求參數提供。 – BalusC