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; } }
可能原因是你的类partionBean中的方法partionVerticalLine()没有用static 修饰符进行修饰 你的partionVerticalLine的定义可能是 public String[] partionVerticalLine(String a){} 修改为 public static String[] partionVerticalLine(String a){} 看一下。
感谢AHUA1001(99) 和z3h(zhaohonghui) ,我试试……, 不过我想说的是,我明明是动态引用,怎么说是Can't make static reference to method java.lang.String partionVerticalLine(java.lang.String)[] in class bean.partionBean.能否告知原因,不胜感激!!!
你没有声明对象就直接作了引用 partionBean bean=new partionBean (); test = partionBean.partionVerticalLine(Is_returnstring); 或则像1号楼说的作
可能的错误如下:
1、partionBean在什么地方定义的啊?有没有拼错。
2、partionVerticalLine方法有定义吗?返回值是什么?返回值的类型和个数都是什么?
3、500 Servlet jspservlet:
这个信息通常是对方网页程序设计错误而产生的,等对方网页纠正错误后再上吧。
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;
}
}
你的partionVerticalLine的定义可能是
public String[] partionVerticalLine(String a){}
修改为
public static String[] partionVerticalLine(String a){}
看一下。
不过我想说的是,我明明是动态引用,怎么说是Can't make static reference to method java.lang.String partionVerticalLine(java.lang.String)[] in class bean.partionBean.能否告知原因,不胜感激!!!
partionBean bean=new partionBean ();
test = partionBean.partionVerticalLine(Is_returnstring);
或则像1号楼说的作
修改方法:
1。把partionVerticalLine方法定义为static。
2。创建一个partionBean对象,然后引用对象的partionVerticalLine方法(参看ninghao37(小宁) 的回复)。
能否请大家推荐一些好的电子教程或网上资源关于javabean、serverlet、jsp的,万分感谢!!!
你中间的 int len 可能就有问题了
你还是实例化一个对象,再来调用,在一个你也用不着用一个static 函数
应该这样:partionBean pBean=new partionBean ();
test = pBean.partionVerticalLine(Is_returnstring);
1.将方法partionVerticalLine该为static 类方法。
2.调用时先实例化在调用。
new一个实例后
错误信息不见了,在页面上出现:
[Ljava.lang.String;@2b2cf8
这是怎么回事???