其实错误很简单:你不能在函数之外使用testArr [0] = "a";之类的语句给数组赋值。实际上你违反的是基本的java语法规范,也就是说,在方法之外的属性,可以给它初始化赋初值,但是不能使用赋值语句(“=”等号语句)。无论是eclipse还是jbuilder,都是会报错的,这跟ide无关,也跟struts无关。解决办法是:要么你把对数组的语句放到一个函数(方法)里面,要么你把值放到数组的初始化语句里。例如以下语句就不报错:  public void aaa(){
    String[] testArr = new String[2];
    testArr[1] = "ad";
    testArr[2] = "ab";
  }

解决方案 »

  1.   

    或者使用这样的初始化语句:String[] testArr = {"a","b"}; 。
      

  2.   

    这段代码我相信语法没有错的.在servlet或者bean中正常,
    ?????
    怎么可能正常呢?这个错误是最基本的语法错误。
      

  3.   

    谢谢wingtrace(暮寒.烟灰.风化物.PG世界最重要的是基础) 
    出现这个问题后的我立即将testArr[0]放入函数里.ide不会出错,但运行的时候错误是一样的
    完整代码如下:
    ===============下面是bean================================
    ublic String[] GetCof(String[] tempArr, int Num) { String[] theArr = new String[Num]; //实例化数据库连接池
    DBConnectionManager connMgr = DBConnectionManager.getInstance(); //取连接池
    Connection conn = connMgr.getConnection("mssql");
    ResultSet rs = null;
    Statement stmt1 = null;
    String sql = "select * from [config]";
    try {
    stmt1 = conn.createStatement();
    rs = stmt1.executeQuery(sql);
    if (!rs.next()) {
    System.out.println("数据库配置信息不存在");
    } else {
    for (int i = 0; i < Num; i++) {
    theArr[i] = rs.getString(tempArr[i]).trim();
    }
    }
    rs.close();
    stmt1.close();
    } catch (SQLException e) {
    System.out.println("获取配置信息失败:" + e);
    }
    //将mssql的连接还给连接池
    connMgr.freeConnection("mssql", conn);

    return theArr;
    }============================test.jsp=====================================
      

  4.   

    ============================test.jsp=====================================
    String[] cofArr ={ "aa","bb");
    ......
    cofArr  = testBean.GetCof(cofArr,2);
    for(int i = 0 ;i<2;i++){
       out.println(cofArr[i]+"<br>");
    }在jsp中没有问题,在struts中用上面的代码.出现的错误和testArr[0]是一样的
      

  5.   

    在哪儿报错来着?在cofArr  = testBean.GetCof(cofArr,2);?下面那段代码你放在哪个方法里面?String[] cofArr ={ "aa","bb");
    ......
    cofArr  = testBean.GetCof(cofArr,2);
    for(int i = 0 ;i<2;i++){
       out.println(cofArr[i]+"<br>");
    }
      

  6.   

    testArr [0] = "a";
    双引号改成单引号试试
    testArr [0] = 'a';
      

  7.   

    你看看你在函数里面返回的是什么,看你的部分代码给人感觉是你在函数里面初始化的这个数组。如果你是希望返回bean属性值那么你应该在构造函数里面初始化这些属性。