做js时报missing ; before statement的错误。但是找了半天没有看到有丢了什么分号
代码是:
importClass(Packages.cn.com.chx.eform.util.FieldUtil);
importClass(Packages.java.util.HashMap);
var fieldUtil=new FieldUtil();
var lineList=fieldUtil.getTableValue("piline");
var money=0;
if(lineList!=null){
for(var i=0;i<lineList.size();i++){
var sum=0;
var hastMap=(HashMap)lineList.get(i);
var qty=(hastMap.get("qty")==null?"0":hastMap.get("qty")).toString();
var unitprice=(hastMap.get("unitprice")==null?"0":hastMap.get("unitprice")).toString();
sum=qty*unitprice;
money=money+sum;
}
}
fieldUtil.setFieldValue("sum",money);
out.println("+++++++++++++++"+money+"+++++++++++");

解决方案 »

  1.   

    有一点不太理解
    sum=qty*unitprice;
    这个qty 和 unitprice都是为了计算用的为什么之前还特地toString呢。。
    var qty=(hastMap.get("qty")==null?"0":hastMap.get("qty")).toString();
    var unitprice=(hastMap.get("unitprice")==null?"0":hastMap.get("unitprice")).toString();
      

  2.   

    var hastMap=(HashMap)lineList.get(i); 
    这是神马东东?
      

  3.   

    这是javascript吗?还是从java里面copy的?
    (js里面没有类型转换的语法,所以第一处语法错误就在3楼提到的地方)