简单来看看JavaBean
2018-10-24 08:45:48来源:博客园 阅读 ()
1.什么是JavaBean?
JavaBean是一个遵循特定写法的java类。
- 用作JavaBean的类必须有一个公共的,无参数的构造方法。
- JavaBean的属性与普通的Java类的属性的概念一样,JavaBean的属性是以方法定义的形式出现的。
- 用于对属性赋值的方法称为属性修改器或setter方法,用于读取属性值的方法称为属性访问器或getter方法。
- 属性修改器必须以小写的set前缀开始,后缀跟属性名,且属性名的第一个字母要大写,例如,username属性的修改器名称为setUsername。
- 属性访问器必须以小写的get前缀开始,后跟属性名,且属性名的第一个字母要大写,例如,username属性的访问器名称为getUsername.
- JavaBean的属性名是根据setter与getter方法的名称来生成的,setter与getter方法中除去前缀“set”和“get”后的部分即为属性名,但属性名的首字母必须小写。
比如,像下面这样的代码:
package com.javaWebMVCTest; public class Student { private int flow_id; private int Type; private String id_card; private String exam_card; private String student_name; private String Location; private int Grade; public int getFlow_id() { return flow_id; } public void setFlow_id(int flow_id) { this.flow_id = flow_id; } public int getType() { return Type; } public void setType(int type) { this.Type = type; } public String getId_card() { return id_card; } public void setId_card(String id_card) { this.id_card = id_card; } public String getExam_card() { return exam_card; } public void setExam_card(String exam_card) { this.exam_card = exam_card; } public String getStudent_name() { return student_name; } public void setStudent_name(String student_name) { this.student_name = student_name; } public String getLocation() { return Location; } public void setLocation(String location) { Location = location; } public int getGrade() { return Grade; } public void setGrade(int grade) { Grade = grade; } public Student(){ } }
2.在jsp中怎样使用JavaBean?
<jsp:useBean>标签:用于创建和查找JavaBean的实例对象;
<jsp:setProperty>标签:设置JavaBean对象的属性;
<jsp:getProperty>标签:读取JavaBean对象的属性;
对于jsp来说,只要一个类具有一个公共的,无参数的构造方法,就可以把这个类当做JavaBean来使用,如果类中有不接受任何参数的getter方法或只接受一个参数的setter方法,就可以把前缀“get”或“set”后面的部分当作一个属性来引用。jsp页面可以像调用一个普通java类的方式去调用JavaBean,即先使用java代码创建JavaBean的实例对象,然后直接调用JavaBean对象的getter和setter方法。
2.1 <jsp:useBean>
<jsp:useBean>标签用于在指定的域范围内查找指定名称的JavaBean对象,如果存在则直接返回该JavaBean对象的引用,如果不存在则实例化一个新的JavaBean对象并将它以指定的名称存储到指定的域范围中。
语法:<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>
- "id"属性用于指定JavaBean实例对象的引用名称和其存储在域范围中的名称。
- "class"属性用于指定JavaBean的完整类名(即必须带有包名)。
- "scope"属性用于指定JavaBean实例对象所存储的域范围,其取值只能是page、request、session和application等四个值中的一个,其默认值是page。
2.2 <jsp:setProperty>
<jsp:setProperty>标签用于设置和访问JavaBean对象的属性。
语法:<jsp:setProperty name="beanName" property="propertyName" value="string字符串"/>
- name属性用于指定JavaBean对象的名称。
- property属性用于指定JavaBean实例对象的属性名。
- value属性用于指定JavaBean对象的某个属性的值,value的值可以是字符串,也可以是表达式。为字符串时,该值会自动转化为JavaBean属性相应的类型,如果value的值是一个表达式,那么该表达式的计算结果必须与所要设置的JavaBean属性的类型一致。
2.3 <jsp:getProperty>
<jsp:getProperty>标签用于读取JavaBean对象的属性,也就是调用JavaBean对象的getter方法,然后将读取的属性值转换成字符串后插入进输出的响应正文中。
语法:<jsp:getProperty name="beanInstanceName" property="PropertyName" />
- name属性用于指定JavaBean实例对象的名称,其值应与<jsp:useBean>标签的id属性值相同。
- property属性用于指定JavaBean实例对象的属性名。
- 如果一个JavaBean实例对象的某个属性的值为null,那么,使用<jsp:getProperty>标签输出该属性的结果将是一个内容为“null”的字符串。
如下使用jsp标签设置JavaBean的属性并获取相应的属性值。
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'bean.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <jsp:useBean id="customer" class="javaBeanTest.Customer" scope="request"></jsp:useBean> <jsp:setProperty property="age" value="10" name="customer"/> age:<jsp:getProperty property="age" name="customer"/> </body> </html>
运行结果显示:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Linux简单命令的学习 2020-06-10
- 因为命名被diss无数次。简单聊聊编程最头疼的事情之一:命名 2020-06-10
- 来看看阿里架构师Java 代码打日志姿势!你也是这样写的吗 2020-06-08
- 「starter推荐」简单高效Excel 导出工具 2020-06-08
- Mybaties简单实例测试及注意问题 2020-06-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash