static ???看看你的哪个方法或者属性声明称了 static 类型,好像要求一直才可以(就是要么都是要么都不是static )

解决方案 »

  1.   

    多谢解答,但是我搜索了javabean文件,没有一处"static",很愁人呢,请继续支持
      

  2.   

    你的代码不全,看是在错去提示里有一个异常。
    可能的错误如下:
    1、partionBean在什么地方定义的啊?有没有拼错。
    2、partionVerticalLine方法有定义吗?返回值是什么?返回值的类型和个数都是什么?
    3、500 Servlet jspservlet:
    这个信息通常是对方网页程序设计错误而产生的,等对方网页纠正错误后再上吧。
      

  3.   

    javabean 代码如下:
    package bean;
    import java.sql.*;
    public class partionBean {
        int len = 0;
    public java.lang.String[] partionVerticalLine(String str) {
            try {
                String[] returnList = new String[64];
                String temp_p = str;
                int count = 0;
                int listSeparator1 = 0;
                int listSeparator2 = 1;
                /*拆分用|分隔的数组*/
                int lastlistSeparator = temp_p.lastIndexOf("|");
                listSeparator2 = 1;
                while (true) {
                    listSeparator1 = temp_p.indexOf("|", listSeparator2);
                    /*在最后第二个|前数组的拆分方法*/
                    if (listSeparator1 < lastlistSeparator && listSeparator1 != 0) {
                        returnList[count] = temp_p.substring(listSeparator2,
                            listSeparator1);
                        listSeparator2 = listSeparator1 + 1;
                        count++;
                    }
                    else {
                        /*在最后第二个|与最后第一个|前数组的拆分方法*/
                        returnList[count] = temp_p.substring(listSeparator2,
                            lastlistSeparator);
                        count = count + 1;
                        /*最后第一个|后数组的拆分方法*/
                        returnList[count] = temp_p.substring(lastlistSeparator + 1,
                            temp_p.length());                    break;
                    }
                }
                len = count;
                /*取得没有空值的返回数组*/
                String[] returnResult = new String[len + 1];
                for (int i = 0; i < len + 1; i++) {
                    returnResult[i] = returnList[i];
                }            return returnResult;
            }
            catch (Exception e) {
                return null;
            }
        }
      

  4.   

    可能原因是你的类partionBean中的方法partionVerticalLine()没有用static 修饰符进行修饰
    你的partionVerticalLine的定义可能是 
    public String[] partionVerticalLine(String a){}
    修改为
    public static String[] partionVerticalLine(String a){}
    看一下。
      

  5.   

    感谢AHUA1001(99) 和z3h(zhaohonghui) ,我试试……,
    不过我想说的是,我明明是动态引用,怎么说是Can't make static reference to method java.lang.String partionVerticalLine(java.lang.String)[] in class bean.partionBean.能否告知原因,不胜感激!!!
      

  6.   

    你没有声明对象就直接作了引用
    partionBean bean=new partionBean ();
    test = partionBean.partionVerticalLine(Is_returnstring);
    或则像1号楼说的作
      

  7.   

    你没有定义创建一个新的对象,所以编译器以为你是在引用一个静态方法。可是你的方法并没有声明为静态的,所以才会有这个异常。
    修改方法:
    1。把partionVerticalLine方法定义为static。
    2。创建一个partionBean对象,然后引用对象的partionVerticalLine方法(参看ninghao37(小宁) 的回复)。
      

  8.   

    感谢ninghao37(小宁) wangchq(阿宝),我明早到班上一定试试!!!
    能否请大家推荐一些好的电子教程或网上资源关于javabean、serverlet、jsp的,万分感谢!!!
      

  9.   

    还有一个问题吧,在static 成员中好象不能引用非static 变量把.
    你中间的 int len 可能就有问题了
    你还是实例化一个对象,再来调用,在一个你也用不着用一个static 函数
      

  10.   

    你还没有new一个实例呢。
    应该这样:partionBean pBean=new partionBean ();
    test = pBean.partionVerticalLine(Is_returnstring);
      

  11.   

    由于partionVerticalLine是partionBean类的实例方法,所以你必须先创造该类的实例才能使用该方法,如果将partionVerticalLine方法定义为static方法,那么它是类的方法,可以直接调用不用先创建实例。你的问题有两个解决方法
    1.将方法partionVerticalLine该为static 类方法。
    2.调用时先实例化在调用。
      

  12.   

    谢谢楼上各位帮忙:——可是,
    new一个实例后
    错误信息不见了,在页面上出现:
    [Ljava.lang.String;@2b2cf8 
    这是怎么回事???