目录
什么javabean?
本质是一个类, 遵循一定的设计原则的任何java类都可以是javabean组件.
- 可序列化
- 无参数的构造方法
- 类的属性私有化
- 通过公有方法来获取和设置属性 getter/setter
Javabean常用属性
javabean的属性是可以访问的,avaBean对象的属性通过JavaBean实现类中提供的两个方法来访问:
getPropertyName():访问器
setPropertyName(): 写入器
scope属性:
- 决定了JavaBean对象存在的范围。
- scope的可选值包括:---page(默认值)---request---session---application
<jsp:useBean id="bean 的名字" scope="bean 的作用域" typeSpec/>
列:实例化类,实现传值
User.java
package com.test.demo;
import java.io.Serializable;
public class User implements Serializable {
private String userName;
private Integer age;
public User() {
// TODO Auto-generated constructor stub
System.out.println("constr");
}
public User(String userName, Integer age) {
super();
this.userName = userName;
this.age = age;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
System.out.println("setter...userName");
this.userName = userName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User [userName=" + userName + ", age=" + age + "]";
}
}
方法1
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="com.test.demo.User"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
User user=new User();
user.setUserName("小青");
%>
<%=user.getUserName() %>
</body>
</html>
方法2
bean3.jsp
在 <jsp:useBean> 标签主体中使用 <jsp:getProperty/> 标签来调用 getter 方法,使用 <jsp:setProperty/> 标签来调用 setter 方法
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 实例化对象
应用了反射方式创建对象 scope-->
<jsp:useBean id="u1" class="com.test.demo.User" scope="page"></jsp:useBean>
<jsp:setProperty property="userName" name="u1" value="容儿"/>
<jsp:getProperty property="userName" name="u1"/>
<jsp:useBean id="u2" class="com.test.demo.User" scope="request"></jsp:useBean>
<jsp:setProperty property="userName" name="u2" value="德华"/>
<jsp:getProperty property="userName" name="u2"/>
<jsp:forward page="bean4.jsp"></jsp:forward>
</body>
</html>
bean4.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 实例化对象 -->
<jsp:useBean id="u1" class="com.test.demo.User" scope="page"></jsp:useBean>
<jsp:useBean id="u2" class="com.test.demo.User" scope="request"></jsp:useBean>
<jsp:getProperty property="userName" name="u1"/>
<jsp:getProperty property="userName" name="u2"/>
</body>
</html>