JSP中操作Java Beans
以下内容引用自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的更多相关文章
- JSP中的Java代码和内置对象
一.JSP中的Java代码 (一)JSP页面中有三种方式嵌入java代码: 1.java的表达式 格式:<%= java表达式 %> 2.java的语句 格式:<% java语句&g ...
- JSP中嵌入java代码方式以及指令
JSP中嵌入java代码的三种方式: (1)声明变量或方法 : <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet): <% j ...
- EL和 JSTL? 在JSP中简化 java代码的写法!
一.servlet部分 package com.aaa.servlet; import com.aaa.dao.IStudentDAO; import com.aaa.dao.Impl.Student ...
- 【JSP】JSP中的Java脚本
前言 现代Web开发中,在JSP中嵌入Java脚本不是推荐的做法,因为这样 不利于代码的维护.有很多好的,替代的方法避免在JSP中写Java脚本.本文仅做为JSP体系技术的一个了解. 类成员定 ...
- jsp中包含JAVA代码
在JSP中大部分都是由脚本小程序组成,所谓的脚本小程序就是里面直接包含了JAVA代码. 在JSP中Scriptlet一共分为三种: · <%%>:定义局部变量,编写语句 ...
- Java中JNI的使用详解第五篇:C/C++中操作Java中的数组
在Java中数组分为两种: 1.基本类型数组 2.对象类型(Object[])的数组(数组中存放的是指向Java对象中的引用) 一个能通用于两种不同类型数组的函数: GetArrayLength(ja ...
- JSP中嵌入java代码的标签方式(转)
(1)声明变量或方法 : <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet): <% java代码; %> (3)表达式 ...
- jsp中使用java函数
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> ${fn ...
- jsp中利用java代码换行
从数据库中取出的10条商品数据分两行显示,每行5条. <% for(int i=0; i<latestProducts.size(); i++) { Product p = latestP ...
随机推荐
- 跨库导表数据(sql)
程序员用 列子: insert into "000".tbFreeReportselect ReportCode ,ReportName ,GroupNamefrom openda ...
- 支持中英文和国旗的android国家代码/国际电话区号选择器
最近在做app登录的时候,因为需要支持国外手机号注册和登录,所以就涉及到国际电话区号的选择.在github上面找了一下,国家名称基本都是只有英文版本,而手动的去把中文一个个加上实在是一件费时费力的事情 ...
- Win10 1803更新UWP无法安装的解决办法|错误代码0x80073D0D
升级Win10 1803后,出现了之前安装的UWP.应用无法更新,再此安装失败的现象. 应用商店错误代码为:0x80073D0D,尝试卸载重装商店,清除应用缓存也无法解决. 最终解决办法: 下载Eve ...
- Java语法基础-序列化
33. Java序列化中如果有些字段不想进行序列化,怎么办? 答:对于不想进行序列化的变量,使用transient关键字修饰. transient关键字的作用是:阻止实例中那些用此关键字修饰的的变量序 ...
- crontab安装及使用
linux下crontab安装yum -y install crontabs service crond start //启动服务service crond stop //关闭服务s ...
- java格式化sql
在日志分析中,经常会对记录的sql进行分析,所以将一整行sql格式化,进行多行缩就显得很有必要,许多数据库客户端都提供sql的格式化功能,但复杂的多层嵌套sql往往格式化的l还不够友好,所以就自己造了 ...
- echarts 外观效果修改
<!DOCTYPE html> <html> <head> <title></title> <link rel="style ...
- Windows 8.1设置WIFI共享以及无法启动承载链接解决方案.
1.设置WIFI共享方法 2.无法启动承载链接解决方案 1.设置WIFI共享方法 Windows8 windows8.1笔记本wifi热点 wifi共享.快速将笔记本或者台式机的网络共享给手机,平板等 ...
- 迅为i.MX6Q嵌入式开发板
工业级核心板:核心板10层高速PCB设计,充分保证电磁兼容. 01. 处理器:开发板默认是四核商业扩展级芯片,可根据用户需求更换单核.双核.工业级.汽车级处理器,批量更省成本. 02. 扩展引脚:32 ...
- 取消input聚焦时的边框,去除ios点击时,自动添加的底色效果
/*去除ios点击时,自动添加的底色效果*/ -webkit-tap-highlight-color: rgba(, , , ); /*去除焦点框*/ outline:none;