JSP bean值没有得到更新

时间:2015-08-25 20:33:46

标签: java jsp javabeans

我这里有2页,在第一页我接受输入,然后通过使用java类用户验证输入数据在秒页面上显示它。

输入表格

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<form action="/myweb/formbean.jsp" method="post">

Username : <input type="text" name="name" placeholder="name"><br>
Password : <input type="text" name="password" placeholder="password">

<input type="submit" value="OK">
</form>

</body>
</html>

显示表格

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<jsp:useBean id="id1" class="test.user" scope="session" ></jsp:useBean>

<jsp:setProperty property="*" name="id1" />

<h1> <jsp:getProperty property="name" name="id1"/> </h1>
<h1> <jsp:getProperty property="password" name="id1"/> </h1>
<h1> <jsp:getProperty property="message" name="id1"/> </h1>

<%= id1.validate() %>
</body>
</html>

JAVA USER CLASS

public class user {

    private String name;
    private String password;
    private String message;

    public user() {

        validate();
    }

    public user(String name, String password) {

        this.name = name;
        this.password = password;
        validate();
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getMessage() {
        return message;
    }



    public void validate() {

        if (name == null) {
            message = "name cannot be null";

        } else if (password == null) {
            message = "passowrd cannot be null";

        }
        message="form validatuion ok";

    }

}

当我提交表单参数消息值永远不会更新时,它总是显示消息&#34; name不能为null&#34; 不知道我在这里做错了什么,请帮我解决。

1 个答案:

答案 0 :(得分:1)

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<jsp:useBean id="id1" class="test.user" scope="session" ></jsp:useBean>

<jsp:setProperty property="*" name="id1" />

<h1> <jsp:getProperty property="name" name="id1"/> </h1>
<h1> <jsp:getProperty property="password" name="id1"/> </h1>
//==========================================
<%= id1.validate() %>
<h1> <jsp:getProperty property="message" name="id1"/> </h1>
//==========================================

</body>
</html>
//==============================================================
    public void validate() {

        if (name==null){message="name cannot be null";}
        else if(password==null) {message="passowrd cannot be null";}
        else{message="form validatuion ok";}
    }