JavaBean是什么?
JavaBean就是一个遵循特定写法的Java类。
它在MVC设计模型中是model(模型层), 就是用来设置数据的属性和一些行为。
JavaBean的写法:
必须实现java.io.Serializable接口
没有公开的类变量
具有无参的构造器
具有公开的设值方法(Setter)和取值方法(Getter)
JavaBean范例:
package Dao.ValueObject;
/**
* Created by dongmengyuan on 17-8-1.
*/
import java.io.Serializable;
public class Users implements Serializable {
private String name;
private String password;
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 boolean isValid() {
return "caterpillar".equals(name) && "123456".equals(password);
}
}
没有定义任何构造器时,编译器会自动加上一个无自变量没有任何内容的构造器
在JSP中使用JavaBean
Jsp提供了三个关于JavaBean组件的标签,分别为
<jsp:useBean>标签:用于取得或创建JavaBean
<jsp:setProperty>标签:用于设置JavaBean的属性值
<jsp:getProperty>标签:用于取得JavaBean的属性值
JSP范例
<%--
Created by IntelliJ IDEA.
User: dongmengyuan
Date: 17-8-1
Time: 下午2:48
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id = "user" class="Dao.ValueObject.Users"/>
<jsp:setProperty name="user" property="*"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>登录页面</title>
</head>
<body>
<%
if(user.isValid()) { //user名称是根据<jsp:useBean>上的名称而来
%>
<h1><jsp:getProperty name="user" property="name"/>登录成功</h1>
<%
}
else {
%>
<h1>登录失败</h1>
<%
}
%>
</body>
</html>
解析:
1.<jsp:useBean>标签用来取得JavaBean。
id属性用于指定JavaBean实例的参考名称,之后在使用<jsp:setProperty>或<jsp:getProperty>标签时,就可以根据这个名称来取得所创建的JavaBean名称。class属性用于指定实例化哪一个类
2.<jsp:setProperty>用来设置JavaBean的属性值。
name属性用于指定要使用哪个名称来取得JavaBean实例。在property属性设置为”*”时,表示将自动寻找符合JavaBean中设置方法名称额请求参数值。
3.<jsp:getProperty>用来取得JavaBean的属性值。
name属性用于指定要使用哪个名称来取得JavaBean实例。property属性指定要取得哪一个属性值。