javabean组件

JavaBean是一种遵循特定规范的Java类,它需要具有无参构造器、私有属性及对应的getter/setter方法,并且是可序列化的。本文介绍了JavaBean的常见属性,如getter和setter方法,并探讨了其scope属性的四种范围。此外,还展示了如何通过实例化JavaBean并在JSP中使用<jsp:useBean>和相关标签进行属性的读写操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

什么javabean?

Javabean常用属性

列:实例化类,实现传值

方法1

方法2


什么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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值