2011-11-21 64 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