以下内容引用自http://wiki.jikexueyuan.com/project/jsp/beans.html

JavaBean是在编写Java时专门创建的Java类,根据JavaBean API规范进行编码。以下是区分JavaBean和其他Java类的特有的特征:

  • 它提供了一个默认的无参数构造函数。

  • 它应该是可序列化的,实现serializable接口。

  • 它可能有大量可以读或写的属性。

  • 它可能有大量“getter”和“setter”方法的属性。

一、JavaBean属性

JavaBean属性是一个命名属性,这个属性是用户可以访问的对象。属性可以是任何Java数据类型,包括自定义的类。

JavaBean属性可以读、写、只读或只写。JavaBean属性是在JavaBean实现类中通过两种方法访问的:

方法 描述
getPropertyName() 例如,如果属性名称是firstName,方法名称应该是getFirstName(),它可以读该属性。该方法叫做访问器。
setPropertyName() 例如,如果属性名称是firstName,方法名称应该是setFirstName(),它可以写该属性。该方法叫做赋值方法。

一个只读属性只会有一个getPropertyName()方法,而一个只写属性将只有一个setPropertyName()方法。

二、JavaBeans例子

考虑一个带有一些属性的Student类:

public class StudentsBean implements java.io.Serializable
{
private String firstName = null;
private String lastName = null;
private int age = 0;
public StudentsBean() {
}
public String getFirstName(){
return firstName;
}
public String getLastName(){
return lastName;
}
public int getAge(){
return age;
}
public void setFirstName(String firstName){
this.firstName = firstName;
}
public void setLastName(String lastName){
this.lastName = lastName;
}
public void setAge(int age){
this.age = age;
}
}

三、访问JavaBeans

在一个JSP页面使用时,useBean操作声明一个对象。一旦声明,bean成为脚本变量,在使用它的JSP页面中,它可以通过脚本元素和其他自定义标签访问。useBean标签的完整的语法如下:

<jsp:useBean id="bean's name" scope="bean's scope" typeSpec/>

根据需求,这里scope属性值可能是页面、请求、会话或应用程序。id属性的值可以是任何值,在同一个JSP页面中,只要它是一个唯一的名字与其他useBean声明。

下面的例子显示了其简单的用法:

<html>
<head>
<title>useBean Example</title>
</head>
<body> <jsp:useBean id="date" class="java.util.Date" />
<p>The date/time is <%= date %> </body>
</html>

产生的结果如下所示:

四、访问JavaBean属性

随着<jsp:useBean…>,可以使用<jsp:getProperty />操作来访问get方法和<jsp:setProperty />操作来访问set方法。这是完整的语法:

<jsp:useBean id="id" class="bean's class" scope="bean's scope">
<jsp:setProperty name="bean's id" property="property name" value="value"/>
<jsp:getProperty name="bean's id" property="property name"/>
...........
</jsp:useBean>

该名称属性通过useBean操作把先前介绍JavaBean的id引用到JSP页面中。该属性的属性是应该被调用get或set方法的名称。

下面是一个使用上面的语法访问数据的简单的例子:

<html>
<head>
<title>get and set properties Example</title>
</head>
<body> <jsp:useBean id="students" class="com.jsoft.StudentsBean">
<jsp:setProperty name="students" property="firstName" value="Zara"/>
<jsp:setProperty name="students" property="lastName" value="Ali"/>
<jsp:setProperty name="students" property="age" value="10"/>
</jsp:useBean> <p>Student First Name:
<jsp:getProperty name="students" property="firstName"/>
</p>
<p>Student Last Name:
<jsp:getProperty name="students" property="lastName"/>
</p>
<p>Student Age:
<jsp:getProperty name="students" property="age"/>
</p> </body>
</html>

这将产生以下结果:

测试工程:https://github.com/easonjim/5_java_example/tree/master/jspbasics/test19

JSP中操作Java Beans的更多相关文章

  1. JSP中的Java代码和内置对象

    一.JSP中的Java代码 (一)JSP页面中有三种方式嵌入java代码: 1.java的表达式 格式:<%= java表达式 %> 2.java的语句 格式:<% java语句&g ...

  2. JSP中嵌入java代码方式以及指令

    JSP中嵌入java代码的三种方式: (1)声明变量或方法 :  <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet):  <% j ...

  3. EL和 JSTL? 在JSP中简化 java代码的写法!

    一.servlet部分 package com.aaa.servlet; import com.aaa.dao.IStudentDAO; import com.aaa.dao.Impl.Student ...

  4. 【JSP】JSP中的Java脚本

    前言 现代Web开发中,在JSP中嵌入Java脚本不是推荐的做法,因为这样 不利于代码的维护.有很多好的,替代的方法避免在JSP中写Java脚本.本文仅做为JSP体系技术的一个了解.     类成员定 ...

  5. jsp中包含JAVA代码

    在JSP中大部分都是由脚本小程序组成,所谓的脚本小程序就是里面直接包含了JAVA代码. 在JSP中Scriptlet一共分为三种:        · <%%>:定义局部变量,编写语句    ...

  6. Java中JNI的使用详解第五篇:C/C++中操作Java中的数组

    在Java中数组分为两种: 1.基本类型数组 2.对象类型(Object[])的数组(数组中存放的是指向Java对象中的引用) 一个能通用于两种不同类型数组的函数: GetArrayLength(ja ...

  7. JSP中嵌入java代码的标签方式(转)

    (1)声明变量或方法 :  <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet):  <% java代码; %> (3)表达式 ...

  8. jsp中使用java函数

    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> ${fn ...

  9. jsp中利用java代码换行

    从数据库中取出的10条商品数据分两行显示,每行5条. <% for(int i=0; i<latestProducts.size(); i++) { Product p = latestP ...

随机推荐

  1. idea 2018 解决 双击shift 弹出 search everywhere 搜索框的方法

    https://youtrack.jetbrains.com/issue/IDEA-161094

  2. 批处理 reg add /?

    C:\Users\Administrator>reg add /? REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [ ...

  3. IT实习总结-上海的实习的日子

    在上海实习两个多月,从找工作,到面试,最后到创业公司工作,体会了一个人在外工作的那种工作时的压力与双休时的寂寞,有时甚至有点迷惘,可能这就是生活,每个人都会经历,在经历的过程中会有不同的味道. 说说我 ...

  4. windows环境开启PHP fileinfo扩展

    fileinfo作用:本模块中的函数通过在文件的给定位置查找特定的 魔术 字节序列 来猜测文件的内容类型以及编码(通俗来讲就是获取文件的MIME信息) 开启PHP fileinfo扩展的方法: 1.下 ...

  5. 02Document Type Definition

    Document Type Definition 1. Document Type Definition DTD(Document Type Definition)文件格式定义作用是给予文件一种格(T ...

  6. vue中的组件传值

    组件关系可以分为父子组件通信.兄弟组件通信.跨级组件通信. 父传子 - props 子传父 - $emit 跨级可以用bus 父子双向 v-model 父链(this.$parent this.$ch ...

  7. 雷林鹏分享:PHP Secure E-mails

    在上一节中的 PHP e-mail 脚本中,存在着一个漏洞. PHP E-mail 注入 首先,请看上一章中的 PHP 代码: if (isset($_REQUEST['email'])) { // ...

  8. 笔试算法题(24):找出出现次数超过一半的元素 & 二叉树最近公共父节点

    出题:数组中有一个数字出现的次数超过了数组长度的一半,请找出这个数字: 分析: 解法1:首先对数组进行排序,时间复杂度为O(NlogN),由于有一个数字出现次数超过了数组的一半,所以如果二分数组的话, ...

  9. MongoDB安装与配置启动

    1.下载安装包.mongodb-linux-x86_64-rhel62-3.6.3.tgz 2.解压.修改名字. 3.修改配置文件: # mongodb.conf #where to loglogpa ...

  10. 零基础入门学习Python(24)--递归:汉诺塔

    知识点 这节课主要讲解用递归的方法,实现汉诺塔的解答 对于游戏的玩法,我们可以简单分解为三个步骤: 1) 将前63个盘子从X移动到Y上. 2) 将最底下的第64个盘子从X移动到Z上. 3) 将Y上的6 ...