日期:2014-05-18  浏览次数:20803 次

关于调用javabean的问题,在线等,急.............谢谢
<%@   page   contentType= "text/html;   charset=gb2312 "   language= "java "   import= "test.TestBean "%>
在这里使用import   调用javabean   可以实现,但为什么使用下面的语句就不能呢?

  <jsp:useBean   id= "TestBean "   scope= "page "   class= "test.TestBean "/>

TestBean的代码如下:
package   test;
public   class   TestBean
{
private   String   name;
public   TestBean(String   sname)
{
this.name=sname;
}
public   String   getName()
{
return   this.name;
}
public   void   setName(String   sname)
{
name=sname;
}
}
而且将test/TestBean.class防到了WEB-INF的classes文件夹下了,
<jsp:useBean   id= "TestBean "   scope= "page "   class= "test.TestBean "/>

使用这句话调用javabean为什么不行呢?
请高手指教,谢谢

------解决方案--------------------
public TestBean()
{

}
好象还要加一个这样的构造函数.
------解决方案--------------------
在package test;后面加语句import java.util.*;试试
------解决方案--------------------
缺少构造函数
------解决方案--------------------
缺少构造函数,public testBean{}
------解决方案--------------------
好像javabean中的构造函数是不能有参数的,
------解决方案--------------------
public TestBean(String sname)
{
this.name=sname;
}
这个函数不能有参数
建议直接干掉
使用setXxx()函数来传递参数
------解决方案--------------------
package test;
public class TestBean
{
private String name;
public String getName()
{
return this.name;
}
public void setName(String sname)
{
this.name=sname;
}
}

------解决方案--------------------
你的TestBean写的有问题,只是一个普通的类文件,并不是真正意义上的javabean。
你用import= "test.TestBean "能实现调用的原因是,你等于用指令导入了TestBean这个类文件,
而 <jsp:useBean id= "TestBean " scope= "page " class= "test.TestBean "/>
是调用javabean的动作标签,它只能调用真正的javaBean
也就是必须有无参构造函数、属性私有、get、set方法,最好是实现序列号接口。