付款单的保存
該工程的功能是保存一個(gè)付款單,工程的起始頁面是index.jsp ;
中心思想:
1.頁面有三個(gè)部分:fkd1(付款單臺頭);fkd2(付款單明細(xì)1,賬戶明細(xì)信息);fkd3(應(yīng)付單據(jù)信息);
2.建立實(shí)體類PayHttpEntity來接收頁面的信息(這個(gè)類的數(shù)據(jù)屬性要和頁面?zhèn)骰貋淼膶傩悦Q一致,這樣通過ModelDriven才可以接受到數(shù)據(jù)):
public class PayHttpEntity implements Serializable{
??? ? //數(shù)據(jù)
?????? private String formData;
?????? private String tableDataOne;
?????? private String tableDataTwo;
????? …
};
?? 3.頁面通過ajax發(fā)送數(shù)據(jù)
{"formData":formData,"tableDataOne":tableDataOne,"tableDataTwo":tableDataTwo,deleteTableOneIds:deleteTableOneIds.join(","),deleteTableTwoIds:deleteTableTwoIds.join(",")}
到payAction!saveOrUpdate.action;
?? 4.payAction 是個(gè)自定義Action類:public class PayAction extends BaseStruts2Action implements ModelDriven<PayHttpEntity>,通過ModelDriven直接把數(shù)據(jù)填充到PayHttpEntity對象中。
5.類PayHttpEntity
private PayHttpEntity model=new PayHttpEntity();
public PayHttpEntity getModel() {
????????????? return model;
?????? }
完成了頁面把數(shù)據(jù)傳送到了后臺。
6.頁面調(diào)用Action的方法saveOrUpdate()(隱藏自動(dòng)的完成步驟5):
??
類PayHttpEntity 調(diào)用public void saveOrUpdate(){
????????????? String result=payService.save(model);? //調(diào)用業(yè)務(wù)層的實(shí)現(xiàn)類存儲model
????????????? ????? if (Constant.RESULT_SUCCESS.equals(result)) {
???????????????????? ????? JsonUtil.result(true, "操作成功!");
????????????? ????? }else{
???????????????????? ?? JsonUtil.result(false, result);
????????????? ????? }
????? }
????
7.調(diào)用payService.save(model)函數(shù):
String bh=saveForm(model);
// 通過FastJson的JSON.parseObject函數(shù)把json字符串賦值給對應(yīng)//的類
????? if (!ValidationUtil.validationEmpty(bh)) {
???????? //table1
????? saveTableOne(model,bh);// 把json串轉(zhuǎn)化為list,給每條記錄//賦bh的值,然后保存
???????? //table2
???????? saveTableTwo(model,bh);
???????? return Constant.RESULT_SUCCESS;
????? }else{
???????? return "數(shù)據(jù)異常!";
????? }
? ?至此完成付款單的保存。
轉(zhuǎn)載于:https://www.cnblogs.com/zhangxj/p/4064104.html
總結(jié)
- 上一篇: 理解离散傅立叶变换(一. 傅立叶变换的由
- 下一篇: bash漏洞修补, CVE-2014-6