付款单的保存

该工程的功能是保存一个付款单,工程的起始页面是index.jsp ;

中心思想:

1.页面有三个部分:fkd1(付款单台头);fkd2(付款单明细1,账户明细信息);fkd3(应付单据信息);

2.建立实体类PayHttpEntity来接收页面的信息(这个类的数据属性要和页面传回来的属性名称一致,这样通过ModelDriven才可以接受到数据):

public class PayHttpEntity implements Serializable{

      //数据

       private String formData;

       private String tableDataOne;

       private String tableDataTwo;

      …

};

   3.页面通过ajax发送数据

{"formData":formData,"tableDataOne":tableDataOne,"tableDataTwo":tableDataTwo,deleteTableOneIds:deleteTableOneIds.join(","),deleteTableTwoIds:deleteTableTwoIds.join(",")}

到payAction!saveOrUpdate.action;

   4.payAction 是个自定义Action类:public class PayAction extends BaseStruts2Action implements ModelDriven<PayHttpEntity>,通过ModelDriven直接把数据填充到PayHttpEntity对象中。

5.类PayHttpEntity

private PayHttpEntity model=new PayHttpEntity();

public PayHttpEntity getModel() {

              return model;

       }

完成了页面把数据传送到了后台

6.页面调用Action的方法saveOrUpdate()(隐藏自动的完成步骤5):

  

类PayHttpEntity 调用public void saveOrUpdate(){

              String result=payService.save(model);  //调用业务层的实现类存储model

                    if (Constant.RESULT_SUCCESS.equals(result)) {

                           JsonUtil.result(true, "操作成功!");

                    }else{

                        JsonUtil.result(false, result);

                    }

      }

    

7.调用payService.save(model)函数:

String bh=saveForm(model);

// 通过FastJson的JSON.parseObject函数把json字符串赋值给对应//的类

      if (!ValidationUtil.validationEmpty(bh)) {

         //table1

      saveTableOne(model,bh);// 把json串转化为list,给每条记录//赋bh的值,然后保存

         //table2

         saveTableTwo(model,bh);

         return Constant.RESULT_SUCCESS;

      }else{

         return "数据异常!";

      }

   至此完成付款单的保存。

原文地址:https://www.cnblogs.com/zhangxj/p/4064104.html