年月日教学点评:老问题JavaBean找不到

来源:百度文库 编辑:高考问答 时间:2024/04/27 14:55:10
我搜索了论坛上关于这个错误的所有帖子,完全和我的不一样。
The value for the useBean class attribute forlumn.GetFetch is invalid
不管我怎么做都会出现这个错误。
首先说下:1,这个BEAN的编写绝对没问题。2,路径肯定正确。3,我把服务器停掉,删完WORK目录下所有文件,错误以依旧。
还有更恼火的,我甚至把那个BEAN的类换成一个不是BEAN的普通类竟然能找到?!!!我把他们放一个包里,而且这个包也是一直运行没有发生过任何错误,还是找不到,我真不明白,要怎么才能找到,
这是BEAN类代码
package forlumn;import java.sql.Connection;import java.sql.Statement;import java.sql.ResultSet;import java.sql.SQLException;import forlumn.DBHelp;public class GetField{ private String tablename = null; private String fieldname = null; private String [] fields = null; private Connection conn = null; private Statement stmt = null; private ResultSet rs = null; public GetField() { } public String getTablename() { return (this.tablename); } public void setTablename(String tablename) { this.tablename = tablename; } public String getFieldname() { return (this.fieldname); } public void setFieldname(String fieldname) { this.fieldname = fieldname; } public String[] getFields() { StringBuffer sb = new StringBuffer(); sb.append("SELECT "); sb.append(fieldname); sb.append(" "); sb.append("FROM "); sb.append(tablename); try { conn = DBHelp.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery(sb.toString()); rs.last(); int n = rs.getRow(); fields = new String[n]; rs.first(); rs.previous(); int i = 0; while (rs.next()) { fields[i] = rs.getString(fieldname); i++; } } catch (SQLException sqle) { System.out.println(sqle.getMessage()); } try { if (conn!=null) conn.close(); } catch (SQLException sqle) { System.out.println("cann't close database"); System.out.println(sqle.getMessage()); } finally { stmt = null; rs = null; } return fields; }}

同样一个包里的任何类都能用,唯独它不能用?
Tomcat能把我气疯掉了
下边是调用测试代码:

<%@ page pageEncoding="gb2312" %><jsp:useBean id="test" scope="page" class="forlumn.GetFetch"/><% test.setTablename("mainblock"); test.setFieldname("blockname"); String [] fields = test.getFields(); for (int i=0;i<fields.length;i++) { out.println(fields[i]); } %>

希望各位能帮忙,现在死的感觉都有了,哎,啥破东西来着
你的class名字是GetField
而你jsp引用的"forlumn.GetFetch",怎么找得到

一楼这位专家说的也对,不过是我发的时候修改太多的事,本来我的调用事没问题的。不知道为什么一发到Baidu这里就乱的很

不好意思,我写的东西一切没错我,类路径错了,呵呵,一切还得靠自己。抱歉

我知道!!!
首先,命名不正确。JavaBean命名不能用大写开头:应为
getXxx()... setXxx(...)
d而且在Xxxx里面只能是第一个字母大写,我试过N多了。在EL语言里也不支持Xxx里面用大写字母。
你的命名规则有点像C#的,呵呵。

改一下,不行再来找我!

你的class名字是GetField
而你jsp引用的"forlumn.GetFetch",怎么找得到?

同意楼上的,呵呵,有时候需要慢慢调试

getXxx()... setXxx(...) 没有错!
楼主使用的getXXX()是正确的!