单击提交按钮时出现.NoSuchElementException,与JSF 1.2中的SelectOneMenu一起使用

时间:2013-08-23 07:18:43

标签: jsf

我有一个jsf页面,其中包含很少的输入组件和两个h:selectOneMenu组件。

在第一个下拉列表中选择值时,我正在调用valuechange侦听器并提交表单。然后我根据从第一个下拉列表中选择的值将值填充到另一个下拉列表中。现在我进入其他字段并单击提交按钮。

它引发了我下面提到的异常。

My Backing bean位于Request范围内。我希望如果我将它更改为会话bean,它在我的应用程序中不适合,它将对我有用。我正在从“ValuechangeListener”方法将数据填充到SelectItem变量。

JSF版本是1.2,此时我无法将其升级到2.0。

1 个答案:

答案 0 :(得分:0)

在这种情况下,RequestScope是不够的。您至少需要ViewScope。

这是因为每次请求都会重置Bean。 Bean的监听器将被调用该bean的另一个实例并将改变它。之后,您在浏览器中进行一些更改,并在下次发送请求时,您的bean已被销毁。因此,你在听众身上所做的一切都迷失了,这就是你遇到问题的原因。

如果您使用ajax,或者保持在同一页面上并继续操作它,那么您应该切换到更高的范围。