报的错是这样的:
org.apache.jasper.JasperException:
/my/TestBean/register.jsp(2,0) The value for the useBean class attribute TestBean is invalid.
1.什么原因导致报这样的错?
我知道按词翻译过来是说TestBean这个类有毛病,可是不可能有病呀!
2.jsp(2.0)中,2和0代表什么意思?
原代码有三个文件,如下:
1.register 在地址栏输入这个文件,填写表单后单击按钮,就报错
<html>
<body>
用户信息注册:<br><hr>
<form method=get action="register.jsp">
<table>
<tr><td>姓名:<input name=userName type="text"></td></tr>
<tr><td>密码:<input name=password type="password"></td><tr>
<tr><td>年龄:<input name=age type="text"></td></tr>
<tr><td><input type=submit value="submit"></td></tr>
</table>
</form>
</body>
</html>
2.register.jsp
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="user" scope="page" class="TestBean"/>
<jsp:setProperty name="user" property="*"/>
<html>
<body>
注册成功:<br>
<hr>
使用Bean属性方法:<br>
用户名:<%=user.getUserName()%><br>
密码:<%=user.getPassword()%><br>
年龄:<%=user.getAge()%><br>
<hr>
使用getProperty:<br>
用户名:<jsp:getProperty name="user" property="userName"/><br>
密码:<jsp:getProperty name="user" property="password"/><br>
年龄:<jsp:getProperty name="user" property="age"/><br>
</body>
</html>
3.TestBean.java
public class TestBean
{
public String userName;
public String password;
public int age;
public void setUserName(String name)
{
this.userName=name;
}
public String getUserName()
{
return this.userName;
}
public void setPassword(String password)
{
this.password=password;
}
public String getPassword()
{
return this.password;
}
public void setAge(int age)
{
this.age=age;
}
public int getAge()
{
return this.age;
}
}
----------------解决方案--------------------------------------------------------
1. 报的错是:The value for ....; 应该是这个输入的值有问题吧;
2. jsp(2,0)指的是在这个jsp代码里面第2行第0列出错啦
----------------解决方案--------------------------------------------------------
对,我知道了,谢谢
我现在知道是哪的错了,可是怎么改呢?
错误在上面的第二个文件中,如下:红色标出的地方,也就是说class属性设置的不对,怎么改呢?
2.register.jsp
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="user" scope="page" class="TestBean"/>
<jsp:setProperty name="user" property="*"/>
<html>
<body>
注册成功:<br>
<hr>
使用Bean属性方法:<br>
用户名:<%=user.getUserName()%><br>
密码:<%=user.getPassword()%><br>
年龄:<%=user.getAge()%><br>
<hr>
使用getProperty:<br>
用户名:<jsp:getProperty name="user" property="userName"/><br>
密码:<jsp:getProperty name="user" property="password"/><br>
年龄:<jsp:getProperty name="user" property="age"/><br>
</body>
</html>
----------------解决方案--------------------------------------------------------
楼主如果用这个<jsp:setProperty name="user" property="*"/>
来接受参数的话 JAVABEAN中的属性名必须和提交表单中的变量名相同才用
先别用* 一个一个接受参数 看会不会出错
----------------解决方案--------------------------------------------------------
应该是Class=包名.TestBean 直接写TestBena不对 找不到那个TestBean
----------------解决方案--------------------------------------------------------
我用的是默认包.也就是TestBean.java在src文件夹下,TestBean.class在classes文件夹下
默认包的包名怎么写?
而且,我把光盘原代码,考下来运行,也是报这个错.原代码是有包名的
是不是我装的东西不对?我装的是j2sdk1.4,Eclipse 3.2,tomcat 5.0.28
是不是要装J2EE?
----------------解决方案--------------------------------------------------------
你把class设置成这样看看:class=../src/TestBean试试
你的regesiter中的form标签我觉得应该这样写:<form method=post action="./register.jsp">
不知道对不对,楼主试试!
----------------解决方案--------------------------------------------------------
我试了,仍然不行,
大家把代码考下去,运行一下,看行不行,好吗?
----------------解决方案--------------------------------------------------------
我的感觉是你的class中的包的路径有问题
我以前也这样用过了的,我感觉装tomcat 5.5应该好一点吧~
也感觉到 应该一定要建包吧~
[此贴子已经被作者于2007-9-2 11:51:16编辑过]
----------------解决方案--------------------------------------------------------