2010-04-10 89 views
0

我有一个包含2个Bean的Jsf表单。第一个Bean范围:Session。第二个Bean范围:请求。jsf 1.1中的Bean值更新问题

当某些值通过第一个Bean添加到第二个Bean时,更新的值不会显示在窗体中。我不知道该怎么办。请帮帮我。

回答

1

要么你开了重定向这导致请求范围的bean被更新,或值在引起他们后来在JSF生命周期被覆盖的错误时刻更新。

要解决第一个问题,请确保您没有在导航案例中包含<redirect/>,也没有在bean操作方法中调用ExternalContext#redirect()。要修复第二个,那么运行一个调试器。 This article也可能有助于理解JSF引擎盖下正在发生的事情。

0

BalusC已经证明了这个问题的可能原因。

如果是重定向,删除重定向可解决问题,但会添加另一个 - 如果用户刷新页面,则会要求用户重新提交表单。

实现从一个页面到另一个页面的这种转换的优选方式是使用对话。 MyFaces Orchestra提供了一个特殊的对话范围来解决这个问题和更多的问题。