<%
           JSONArray list =(JSONArray)session.getAttribute("province_list");
           String st = list.toString();
           String test = new String("test...........");
           System.out.println(st);
        %>
        <body onload="initProvince('<%=st%>')">//这里输出st 总有错,而输出test 则没错! 为什么啊???

解决方案 »

  1.   

    比较一下2个类型。。分别输出st和test看看
      

  2.   

    <% 
    String a = "ac','bbb";
    %>      
    init__('<%=a%>');
    function init__(a)
    {
       alert(arguments.length);
       alert(a);
    }试试这个,再把init__("<%=a%>");单引号换成双引号?看看是不是这个问题
      

  3.   

    Error: missing ) after argument list
    Source File: http://localhost:7101/TestConnection-ViewController-context-root/initmain
    Line: 1, Column: 16
    Source Code:
    initProvince("["安徽","澳门","北京","福建","甘肃","广东","广西","贵州","海南","河北","河南","黑龙江","湖北","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山东","山西","陕西","上海","四川","台湾","天津","西藏","香港","新疆","云南","浙江","重庆"]")
      

  4.   

    你这个不报错就怪了,输入参数是取出来的,而jsp先加载java变量。你那一行代码明显输入参数格式错误
      

  5.   

    要知道,js代码和java代码混用的时候,java代码执行完之后才生成出页面,这个时候页面的内容就是静态的了,然后加载页面执行js代码的时候,<%=st%>已经被替换成了它实际取到的值。这种情况下,你的js的各种引号就跟java字符串的引号混淆(如果输入的st带引号的话)。