Spring WebFlow,验证和模型

时间:2011-06-22 16:26:09

标签: spring-webflow

我正在构建一个示例Spring WebFlow应用程序,并希望得到一些关于如何处理以下场景的输入。

我有2页,第一页是用户输入数据的表单,第二页只显示用户在上一页输入的数据。第一页有一个'discard'和一个'continue'链接,第二页只有一个编辑链接,它将用户带到第一个屏幕,以便对数据进行编辑。

我正在测试的场景是......用户输入数据,点击继续链接,执行验证器(Spring / WebFlow验证器),第二页显示数据(正确数据)。现在,用户点击编辑链接,更改第一页上的字段,点击继续链接,执行验证器并显示错误消息(例如,用户在电子邮件字段中输入了无效的电子邮件地址,该地址在模型中定义为String对象)显示在同一页面上(第一页)。现在,用户点击丢弃链接并转到显示数据的第二页。现在,由于第一页上的验证失败,显示的数据不正确(显示无效的电子邮件地址)。

一旦用户点击丢弃链接,某人可以帮助我显示旧数据(正确的数据),因为数据/模型没有在任何地方持久存在。

1 个答案:

答案 0 :(得分:0)

如果您使用模型处于视图状态并且使用bind="true"(默认值)进行转换,则会更改该快照的模型对象。也就是说,一旦你“继续”,你就已经更新了对象。

我不知道您是否可以跟踪并将用户返回到之前的快照。如果没有,您需要保留一个“备份”对象,并在附加到“discard”的代码中手动恢复该对象。