我得到一个 useBean类属性user.CompileClasss的值无效这些是我的文件:
的index.jsp
<%@ page session="true" %>
<%@ page import="user.CompileClass" %>
<jsp:useBean id="user1" class="user.CompileClasss" scope="session" />
<jsp:setProperty name="user1" property="*"/>
<html>
<body>
<FORM METHOD=POST ACTION="Result.jsp">
What's your name? <INPUT TYPE=TEXT NAME=uname SIZE=20><BR>
What's your e-mail address? <INPUT TYPE=TEXT NAME=email SIZE=20><BR>
What's your age? <INPUT TYPE=TEXT NAME=age SIZE=4>
<P><INPUT TYPE=SUBMIT>
</FORM>
</body>
</html>
CompileClass.java
package user;
public class CompileClass {
public String uname;
public String mail;
public int age;
/*public CompileClass(String uname, String mail, int age) {
this.uname=uname;
this.mail=mail;
this.age=age;
}*/
public CompileClass(){
}
public String returnname(){
return uname;
}
public String returnmail(){
return mail;
}
public int returnage(){
return age;
}
/*public void main()
{
}*/
}
的Result.jsp
<jsp:useBean id="user1" scope="session" class="user.CompileClass" />
<html>
<body>
You entered:<BR>
Name: <%= user1.returnname() %> <BR/>
Email: <%= user1.returnmail() %><BR>
Age: <%= user1.returnage() %><BR>
</body>
</html>
任何帮助?
答案 0 :(得分:1)
您的JavaBean格式错误。请阅读this article以获取解释。
UPDATE :错误的JavaBean格式打破了这行代码:
<jsp:setProperty name="user1" property="*"/>
应用程序服务器找不到表单的参数和bean的字段之间的映射。
还有另一个问题,你应该放置
<jsp:setProperty name="user1" property="*"/>
进入Result.jsp,因为当Index.jsp正在运行时没有已定义的属性。
答案 1 :(得分:1)
useBean类属性user.CompileClasss的值无效
这个等于ClassNotFoundException
。事实上,你在类名中有一个s
太多了。
替换
class="user.CompileClasss"
通过
class="user.CompileClass"
无关,@page import
完全没必要。去掉它。您的班级也不遵守Javabeans specification。 getter方法需要以get
为前缀,并相应地修复它。您也无法使用 scriptlet <% %>
访问它。请改用EL ${}
。
答案 2 :(得分:0)
我认为你没有放置编译过的类。