我在servlet中传入一个由对象组成的list叫sourcelist,然后这个对象source里有各种属性,比如title,我现在要在js中取得这个title值,请问怎么拿到
我这样做老是报错啊
var sourcelist = ${sourcelist};
for (var source in sourcelist) {
titleArray = new Array();
titleArray.push(${source.title});
}报的错是:missing ] after element list
[Break on this error] var sourcelist = [[email protected]@1c286e2, com.iss.dojo.Source@257f1b];\n

解决方案 »

  1.   

    sourcelist is array
    采用索引来读取值
    for (var i=0;i<sourcelist.length;i++) { 
    alert(sourcelist[i]);

      

  2.   

    1楼你的这种和我的for in没有区别报的错也是一样
      

  3.   

    那就检查你的sourcelistvar sourcelist = [[email protected]@1c286e2, com.iss.dojo.Source@257f1b]
    应该是
    var sourcelist = ['[email protected]@1c286e2', 'com.iss.dojo.Source@257f1b']
    吧?
      

  4.   

    需要将 sourcelist 转换为 json 对象,例子如下
    <script>
    var sourcelist = [
    {title:"标题1", id:"1", name:"张三"},
    {title:"标题2", id:"2", name:"李四"},
    {title:"标题3", id:"3", name:"王五"}
    ];alert(sourcelist[1].title);
    </script>可以自己写代码转,也可以用第三方包(比如 dwr)
      

  5.   

    var sourcelist = [[email protected]@1c286e2, com.iss.dojo.Source@257f1b]
    这个是说sourcelist是由Source对象数组组成的。
    你下面那个组成字符串显然是错的。。
      

  6.   

    上面说错了“这个是说sourcelist是由Source对象数组组成的”改成“sourcelist是由Source对象组成的数组”
      

  7.   

    非常感谢,我也想到可能问题在这,用org.json还是非常方便转的