前台创建多个name 一样的名称 用String[] 传到 控制器

来源:互联网 发布:数据分组分析法案例 编辑:程序博客网 时间:2024/04/30 09:01

前台创建多个对象 name属性 一样的名称 在参数方法传递中用String[] 传到 控制器


能否建个bean,把这个name 属性定义为string [],然后直接传递到这个bean 里面去 到后台创建多个对象?、


因为前台合同里新建多个产品和款项名称,所以用String[]传递其中参数名称,再获取数组长度判断个数

循环新建对象。

/**
     * 创建新合同
     */

    @RequestMapping(value = "/contractAdd.html", method = RequestMethod.POST)
    public ModelAndView contractAdd(HttpSession session, CrmContract contract,
            @RequestParam("fileinput") MultipartFile[] fileinput,
            HttpServletRequest request, String[] contractProductName,
            String[] contractProductPrice, String[] contractProductNumber,
            String[] totalPrice, String[] contractPayName,
            String[] contractPayDate, String[] contractPayAmount,
            String[] contractPayPercent,
            String[] contractPayRemark, String[] contractDeliveryName,
            String[] contractDeliveryDate, String[] contractDeliveryRemark) {
        SystemUser loginUser = (SystemUser) session
                .getAttribute(SystemConstants.SESSION_KEY_LOGIN_USER);
        
        
        String path="";
        String name="";
        for (int i = 0; i < fileinput.length; i++) {    
        try {
            String RealName =fileinput[i].getOriginalFilename();  
            String fileName = time + fileinput[i].getOriginalFilename();
            String relativeFilePath = FileUploadManager.transferImage(
                    fileinput[i], new String[] { "crm", "file" }, fileName);            
             path+= relativeFilePath+",";
            name+= RealName+",";
            
            
            
              contract.setContractFileName(name);
              contract.setContractFile(path);
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        }
        
    

        List<CrmContractProduct> list3 = new ArrayList<CrmContractProduct>();
        
        

        for (int i = 0; i < contractProductName.length; i++) {
            CrmContractProduct product = new CrmContractProduct();        
            product.setProductId(Long.parseLong(contractProductName[i]));                
            product.setContractProductPrice(Double
                    .parseDouble(contractProductPrice[i]));
            product.setContractProductNumber(Long
                    .parseLong(contractProductNumber[i]));
            product.setTotalPrice(Double.parseDouble(totalPrice[i]));
            list3.add(product);

        }

        List<CrmContractPay> list = new ArrayList<CrmContractPay>();

        for (int i = 0; i < contractPayName.length; i++) {
            CrmContractPay pay = new CrmContractPay();
            pay.setContractPayName(contractPayName[i]);

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Date date;
            try {
                date = sdf.parse(contractPayDate[i]);
                pay.setContractPayDate(date);
            } catch (ParseException e) {

                e.printStackTrace();
            }
           pay.setContractPayAmount(Long.parseLong(contractPayAmount[i]));
            pay.setContractPayPercent(Long.parseLong(contractPayPercent[i]));
            pay.setContractPayRemark(contractPayRemark[i]);
            list.add(pay);

        }
        ;

        List<CrmContractDelivery> list2 = new ArrayList<CrmContractDelivery>();

        for (int j = 0; j < contractDeliveryName.length; j++) {
            CrmContractDelivery delivery = new CrmContractDelivery();
            delivery.setContractDeliveryName(contractDeliveryName[j]);

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Date date;
            try {
                date = sdf.parse(contractDeliveryDate[j]);
                delivery.setContractDeliveryDate(date);
            } catch (ParseException e) {

                e.printStackTrace();
            }

            delivery.setContractDeliveryRemark(contractDeliveryRemark[j]);
            list2.add(delivery);

        }

        contractService.createContract(contract, list, list2, list3);

        ModelAndView m = new ModelAndView(
                "redirect:/contract/contractlist.html");
        ApplicationUtil.getMsgm().getSuccesses().add("合同创建成功");

        return m;
    }



0 0
原创粉丝点击