如何纠正错误"未定义类型:user.UserData"

时间:2015-10-23 11:51:01

标签: java jsp

有一个java beans类 UserData

package random;

public class UserData {

    String username;
    String email;
    int age;
    public void setUsername( String value )
    {
    username = value;
    }
    public void setEmail( String value )
    {
    email = value;
    }
    public void setAge( int value )
    {
    age = value;
    }
    public String getUsername() { return username; }
    public String getEmail() { return email; }
    public int getAge() { return age; }


}

还有一个jsp文件。

SaveName.jsp

<jsp:useBean id="user" class="random.UserData" scope="session"/>
<jsp:setProperty name="user" property="*"/>
    <HTML>
        <BODY>
            <A HREF="NextPage.jsp">Continue</A>
        </BODY>
    </HTML>

我一直收到错误提示未定义类型:user.UserData

知道如何纠正它吗? 这已经得到纠正。感谢那些帮助过的人。  从这里提供帮助。 我还有一个疑问。 除了上述两个文件外,还有两个文件。

NextPage.jsp上

<jsp:useBean id="user" class="random.UserData" scope="session"/>
<HTML>
    <BODY>
        You entered<BR>
        Name: <%= user.getUsername() %><BR>
        Email: <%= user.getEmail() %><BR>
        Age: <%= user.getAge() %><BR>
    </BODY>
 </HTML>

form.html

<HTML>
    <BODY>
        <FORM METHOD=POST ACTION="SaveName.jsp">
            What's your name? <INPUT TYPE=TEXT NAME=username 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>

但是当我跑这个。我没有得到任何输入的值。代替。我明白了:

你输入了     名称:null     电子邮件:null     年龄:0

任何想法为什么?

2 个答案:

答案 0 :(得分:1)

请尝试

<jsp:useBean id="user" class="random.UserData" scope="session"/>

答案 1 :(得分:0)

您在JSP中指定了类class="user.UserData",而您在Java中声明为random.UserData(包+类名)。

编辑 (问题的第二部分)

SaveName.jsp中,您实际上没有保存任何内容..您需要设置如下值:

<jsp:setProperty name="user" property="username" value="${param.username}" />

另请注意,这应该在Servlet中完成,而不是在JSP中完成。 JSP在这里获取值并显示它们,而不是对它们进行处理。