多个产品的比较问题

   上文说到三级联动能够显示出要选择的产品,

当选择完成后,会产生这样一个确定按钮,在这其中写入这样一个事件,当点击后会把所选择的产品的id值传回到后台action中,

因为在jsp页面把id放入到array中 ,它会以字符串的形式,每个id之间有“,”分割,所以到action中要先把这个字符串分割出来,并转换为整形数组。

接下来要把选择的产品的产品名称整合到set中,因为set有去重的功能,这样需要比较的几个产品的参数名整合到了一起,

然后,把这些产品的参数都赋给Product p中。

紧接着把每个产品的参数名跟整合的做比较,如果名称一样的话,就把相应 的val赋给Product product1, 如果要是不同的话,就判断它是不是这个产品名称的最后一个参数名,如果是最后一个就说明,此产品中没有前面整合产品的参数,就需要附“--”用于显示。
for(int c = 0;c<arrays.length;c++)
   {
    Product product1 = new Product();
    for(int j =0;j<str1.length;j++)
    {
     if(str1[j].equals(arrays[c]))
     {
      String sql4 = "select value from attrval where ID = ?";
      String attrval = dao.qureystr(sql4, str2[j]);
      System.out.println(attrval);
      product1.setAttrval(attrval);
      switch(i)
      {
       case 0 :p1.add(product1);break;
       case 1 :p2.add(product1);break;
       case 2 :p3.add(product1);break;
       case 3 :p4.add(product1);break;
      }
      break;
     }
     else
     {
      if(j == str1.length-1)
      {
       product1.setAttrval("--");
       switch(i)
       {
        case 0 :p1.add(product1);break;
        case 1 :p2.add(product1);break;
        case 2 :p3.add(product1);break;
        case 3 :p4.add(product1);break;
       }
      }
     }
    }
   }
  }
此次比较功能最多支持4个产品进行比较,所以我们定义了一个ListProduct,其中有attrname,4个attrval,后面会判断到底选择了几个产品,

最后把listProduct放到之前定义的List<ListProduct> listProduct = new ArrayList<ListProduct>();中去,返回到jsp页面用structs标签循环显示 。

最终效果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值