Jsf 2 JSF2.0验证错误导致输入字段显示本地值,而不是更新的模型值
该应用程序使用JSF2.0框架。 用户向表单输入值。当用户选择“保存”时,有些字段有验证错误,有些字段没有。 用户单击取消按钮。然后用户再次单击更新按钮。 即使更新了模态值,在选择“保存”时具有有效值的字段也会显示本地值,而不是更新的模型值 我通过在cancel的action方法中添加resetValues()方法解决了这个问题。 resetValues()循环遍历子项列表,并将本地值重置为nullJsf 2 JSF2.0验证错误导致输入字段显示本地值,而不是更新的模型值,jsf-2,validation,Jsf 2,Validation,该应用程序使用JSF2.0框架。 用户向表单输入值。当用户选择“保存”时,有些字段有验证错误,有些字段没有。 用户单击取消按钮。然后用户再次单击更新按钮。 即使更新了模态值,在选择“保存”时具有有效值的字段也会显示本地值,而不是更新的模型值 我通过在cancel的action方法中添加resetValues()方法解决了这个问题。 resetValues()循环遍历子项列表,并将本地值重置为null 是否有更好的解决方案来改善应用程序的性能?取消按钮应重新创建视图。您可以通过将导航结果返回到同一
是否有更好的解决方案来改善应用程序的性能?取消按钮应重新创建视图。您可以通过将导航结果返回到同一视图来完成此操作,如果需要,请使用
faces redirect=true
感谢您的快速响应。你的解决方案也很有效。只有当该方法返回的是页面名而不是空字符串时,它才起作用。不客气。实际上,它必须是有效的视图ID,而不是空字符串或null
或void
。理论上,您甚至可以执行
。表单有两个面板组,打开和关闭状态。取消按钮具有ajax。如果我删除命令按钮的ajax,它就会工作。但是,如果我使用immediate=true并execute=“@this”为命令按钮添加ajax,则会保留以前的值。只有在使用faces redirect=true
时,ajax才会导航。我返回“viewId?faces redirect=true”,并且这些值仍然显示本地值,而不是更新的模型值<代码>