以前做过一个网上申报的功能,客户可以在网站上申报办件,这个申报过程需要完成4个步骤,内容比较多,设计人员将4个步骤设计成四个单独的页面,每个页面上都有一个表单需要申报人员填写相关信息。
为了一个申报数据是合法、有效的,程序在第四个步骤完成时才会将数据记录到数据库当中。
大家可能会想到,通过隐藏字段(hidden)记录前一个步骤的表单值,到最后一个步骤时再一起提交出去,这也是一个方法。
现在有另一种方法,通过Struts来实现。
具体实现步骤如下:
1、建立一个FormBean,它包含4个步骤的Form信息,并助将scope设置为session.
2、每个页面共用这个FormBean.
3、为每个页面的表单加一个hidden字段,它的值分别为1,2,3,4(即第一个页面的值为1,以此类推;这样做的目的为了在FormBean里面的reset方法中,将相关的值设为null)
这里给出FormBean中reset方法的实现
public void reset(ActionMapping actionMapping,
HttpServletRequest
servletRequest) {
// 根据不同的步骤,重设相关表单字段的值
switch(stepNo) {
case: 1
name = null;
phoneNumber = null;
break;
case: 2
type = null;
email = null;
break;
case: 3
case: 4
}
}