关于调用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方法,最好是实现序列号接口。