~~
记得项目中有好多地方是wizard模式的交互。我常常建议组员按照SpringMVC提供的参考来开发。但当时比较紧张,《spring开发参考》也没有太多的说明,又没有时间去研究AbstractWizardFormController的用法。所以无法给他们太多的指导,任由他们自己想办法实现功能再说。毕竟按时完成任务还是主要的!
wizard模式一般都分几步,其中我们至少有两步需要跟数据库交互。如果第一次和数据库交互失败则要跳到错误页面,问题是出现在这里。我们错误认为wizard是一走到底,中间出现问题就不知道怎么处理了。故用很多普通controller来实现。
今天看了spring的源代码,发现我们的思维有点问题。把思维放宽一点来看,不管和数据库交互多少次,只要失败就认为是校验不通过。spring提供现成的校验接口,如果校验不通过,想去那个页面就很简单了。基本不用我们操心。
参考代码如下(摘自jpetstore):















