我有一个带有3个选项和一个inputTextArea的无线电选择页面。当我按下页面上的提交按钮时,我需要做一些验证.为了做到这一点,我在无线电上安装了一个验证器。问题是,在执行验证器时,我需要inputTextArea和收音机的值,但它们带有旧值,而不是页面提交之前在页面上定义的值。
示例:当第一次提交代码时,代码String.valueOf(textAreaOcorrencia.getValue())是null,但是由于textArea是空的,所以应该是空字符串。当它第二次提交时,它具有它在第一次提交中应该拥有的价值。我知道这与JSF生命周期有关,但我不知道如何更新这些值。
发布于 2010-02-10 19:07:12
在应用请求值阶段,提交的值将被设置为submittedValue。在验证阶段,提交的值将被验证和转换,并设置为value。当组件出现在组件树中时,组件以自上而下的顺序进行验证。
因此,如果所讨论的组件实际上出现在组件树中的当前组件之后,则需要通过UIInput#getSubmittedValue()而不是UIInput#getValue()获取其值。
要了解更多关于JSF生命周期的信息,您可能会发现这篇自我实践的文章很有用。
https://stackoverflow.com/questions/2239512
复制相似问题