error:useBean类属性user.CompileClasss的值无效

时间:2011-03-24 11:38:48

标签: java jsp javabeans

我得到一个 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>

任何帮助?

3 个答案:

答案 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)

我认为你没有放置编译过的类。