美文网首页
简单来看看JavaBean

简单来看看JavaBean

作者: 哦00 | 来源:发表于2018-12-07 17:04 被阅读0次

    1.什么是JavaBean?

    JavaBean是一个遵循特定写法的java类。

    用作JavaBean的类必须有一个公共的,无参数的构造方法。

    JavaBean的属性与普通的Java类的属性的概念一样,JavaBean的属性是以方法定义的形式出现的。

    用于对属性赋值的方法称为属性修改器或setter方法,用于读取属性值的方法称为属性访问器或getter方法。

    属性修改器必须以小写的set前缀开始,后缀跟属性名,且属性名的第一个字母要大写,例如,username属性的修改器名称为setUsername。

    属性访问器必须以小写的get前缀开始,后跟属性名,且属性名的第一个字母要大写,例如,username属性的访问器名称为getUsername.

    JavaBean的属性名是根据setter与getter方法的名称来生成的,setter与getter方法中除去前缀“set”和“get”后的部分即为属性名,但属性名的首字母必须小写。

    比如,像下面这样的代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    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>

    标签用于在指定的域范围内查找指定名称的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

    标签用于设置和访问JavaBean对象的属性。 

    语法:

    name属性用于指定JavaBean对象的名称。

    property属性用于指定JavaBean实例对象的属性名。

    value属性用于指定JavaBean对象的某个属性的值,value的值可以是字符串,也可以是表达式。为字符串时,该值会自动转化为JavaBean属性相应的类型,如果value的值是一个表达式,那么该表达式的计算结果必须与所要设置的JavaBean属性的类型一致。

    2.3 <jsp:getProperty>

    标签用于读取JavaBean对象的属性,也就是调用JavaBean对象的getter方法,然后将读取的属性值转换成字符串后插入进输出的响应正文中。

    语法:

    name属性用于指定JavaBean实例对象的名称,其值应与<jsp:useBean>标签的id属性值相同。

    property属性用于指定JavaBean实例对象的属性名。

    如果一个JavaBean实例对象的某个属性的值为null,那么,使用<jsp:getProperty>标签输出该属性的结果将是一个内容为“null”的字符串。

    如下使用jsp标签设置JavaBean的属性并获取相应的属性值。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    <%@ 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>

     运行结果显示:

    欢迎工作一到五年的Java工程师朋友们加入Java群: 891219277 群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

    相关文章

      网友评论

          本文标题:简单来看看JavaBean

          本文链接:https://www.haomeiwen.com/subject/uufxhqtx.html