后台编写数据传入前台
适用于springboot+thymeleaf框架
/**
* 新增项目回款
* (弹框)
*/
@GetMapping("/add/{payId}")
public String add(@PathVariable("payId") String payId,ModelMap mmap,FdContract contract,Model model,FdContractItem fdcontractitem,FdContractPaymentr fdcontractpaymentr){
//在新增时获取 回款信息表 的内容
FdContractPayment getPayment = contractPaymentService.selectContractPaymentById(payId);
mmap.put("payment",getPayment);
List<FdContract> ctList = contractService.selectContractList(contract);
//设sum = 0
int sum = 0;
//将合同类 实例化一个新的对象
FdContract con=new FdContract();
//循环遍历合同表的数组
for (int i = 0; i < ctList.size(); i++) {
//如果数组为0,即自动选自第一个对象
if (i==0) {
//将合同列表获取到的数组赋值给con对象
con=ctList.get(i);
//取出con实例化里面的contractId对象 且是根据合同明细表中合同明细里面的contractId查出一样的值 赋给con实例化列表
List<FdContractItem> conList=contractItemService.selectContractItemByCid(con.getContractId());
//如果实例化列表的大小不是0
if (conList.size()!=0) {
//遍历合同明细表的相同对象
for (FdContractItem f : conList) {
//将相同对象的产品总价相加得到sum值
sum=sum+f.getProductSum();
}
}
}
}
System.out.println(sum);
model.addAttribute("ctList",ctList);
//将sum值传入到前台页面
model.addAttribute("contractSum",sum);
// List<FdContractPayment> cpList = contractPaymentService.selectContractPaymentList(contractPayment);
// model2.addAttribute("cpList", cpList);
return prefix + "/add";
}
前台接收后台数据
<div class="form-group">
<label class="col-sm-3 control-label">合同总额:</label>
<div class="col-sm-8">
<!-- th:value="${contractSum}"是用来接收后台传来的值,直接显示在页面上的 -->
<input id="contractSum" name="contractSum" readonly class="form-control" type="text" th:value="${contractSum}">
</div>
</div>
若遇到第一个值不回显,只显示0,可以在script里面添加以下代码:
//监听事件,保证contractId关联的回款金额可以及时回显
$(function(){
$("#contractId").trigger("change");
});