首先,为了避免误解,虽然这跟PrimeFaces: conditional update on validation是同一个问题,但我还是要再问一遍,因为我并不认可那个问题的答案。尽管它可能给原作者提供了解决方案,但它并没有真正回答这个问题,并且这种解决方案并不适用于我。
所以,我的问题是:如何根据提交结果有条件地更新primefaces组件?
我有一个组件,在任何情况下都不应该被更新,除非验证成功并且后端代码成功执行。(即,如果验证成功但在后端有SQL异常,该组件仍然不应被更新)。
为什么我不能总是更新它?如果逻辑不成功,它将被更新为之前单击提交按钮时的相同内容。因为我不能。这是验证码组件。如果通过ajax更新它,它会消失,就这样了。Primefaces开了一个工单,将其关闭为“无法修复”,因为flash组件不应该使用ajax进行更新。
因此,当我提交表单时,除非逻辑成功,我需要保留验证码。如果逻辑成功,我需要确保验证码从屏幕上消失。最简单、最清晰的方法是什么?
如果这是一个n00b问题,请原谅。我对Primefaces和JSF非常陌生。
所以,我的问题是:如何根据提交结果有条件地更新primefaces组件?
我有一个组件,在任何情况下都不应该被更新,除非验证成功并且后端代码成功执行。(即,如果验证成功但在后端有SQL异常,该组件仍然不应被更新)。
为什么我不能总是更新它?如果逻辑不成功,它将被更新为之前单击提交按钮时的相同内容。因为我不能。这是验证码组件。如果通过ajax更新它,它会消失,就这样了。Primefaces开了一个工单,将其关闭为“无法修复”,因为flash组件不应该使用ajax进行更新。
因此,当我提交表单时,除非逻辑成功,我需要保留验证码。如果逻辑成功,我需要确保验证码从屏幕上消失。最简单、最清晰的方法是什么?
如果这是一个n00b问题,请原谅。我对Primefaces和JSF非常陌生。
RequestContext.getCurrentInstance()
不再可用,应改用PrimeFaces.current().ajax()
。 - Mohsen