• jsp jsp_javabean


    javaBean的定义

    JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:

    这个Java类必须具有一个无参的构造函数
    属性必须私有化。
    私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。
    public class person {
        /** 姓名*/
        private String name;
        /** 年龄*/
        private int age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }
    

    javaBean的属性

    JavaBean的属性可以是任意类型,并且一个JavaBean可以有多个属性。
          每个属性通常都需要具有相应的setter、 getter方法,setter方法称为属性修改器,getter方法称为属性访问器。
      属性修改器必须以小写的set前缀开始,后跟属性名,且属性名的第一个字母要改为大写,
             例如,name属性的修改器名称为setName,password属性的修改器名称为setPassword。 
      属性访问器通常以小写的get前缀开始,后跟属性名,且属性名的第一个字母也要改为大写,
             例如,name属性的访问器名称为getName,password属性的访问器名称为getPassword。 
      一个JavaBean的某个属性也可以只有set方法或get方法,这样的属性通常也称之为只写、只读属性。
    

    JSP中的javaBean

    JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为:
    
    <jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件。
    <jsp:setProperty>标签:用于在JSP页面中设置一个JavaBean组件的属性。
    <jsp:getProperty>标签:用于在JSP页面中获取一个JavaBean组件的属性。
    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。
    
    <body>
        <jsp:useBean id="person" class="business.pagedemo.person" scope="page" />
        <%
            person.setName("xiaoxiao");
            person.setAge(1);
        %>
        <div>姓名:<%=person.getName() %></div>
        <div>年龄:<%=person.getAge() %></div>
    </body>
    

    jsp:setProperty标签

     <jsp:setProperty>标签用于设置和访问JavaBean对象的属性。 
      语法格式一:<jsp:setProperty name="beanName" property="propertyName" value="string字符串"/>
    
        语法格式二:<jsp:setProperty name="beanName" property="propertyName" value="<%= expression %>" />
    
      语法格式三:<jsp:setProperty name="beanName" property="propertyName" param="parameterName"/>
    
      语法格式四:<jsp:setProperty name="beanName" property= "*" />
      name属性用于指定JavaBean对象的名称。 
      property属性用于指定JavaBean实例对象的属性名。
      value属性用于指定JavaBean对象的某个属性的值,value的值可以是字符串,也可以是表达式。为字符串时,该值会自动转化为JavaBean属性相应的类型,如果value的值是一个表达式,那么该表达式的计算结果必须与所要设置的JavaBean属性的类型一致。  
      param属性用于将JavaBean实例对象的某个属性值设置为一个请求参数值,该属性值同样会自动转换成要设置的JavaBean属性的类型。   
    
    <body>
        <%! int i=27; %>
        <jsp:useBean id="person" class="business.pagedemo.person" scope="page" />
        <jsp:setProperty property="name" name="person" value="ssgao"/>
        <jsp:setProperty property="age" name="person" value="<%=i %>"/>
        <div>姓名:<%=person.getName() %></div>
        <div>年龄:<%=person.getAge() %></div>
    </body>
    url=http://127.0.0.1:8090/web/PageOne?name=ss
    <body>
        <%! int i=27; %>
        <jsp:useBean id="person" class="business.pagedemo.person" scope="page" />
        <jsp:setProperty property="name" name="person" param="name"/>
        <jsp:setProperty property="age" name="person" value="<%=i %>"/>
        <div>姓名:<%=person.getName() %></div>
        <div>年龄:<%=person.getAge() %></div>
    </body>
    

    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”的字符串。
    

    javaBean的一版格式要求

    1)这个java类必须具有一个无参的构造函数
    2)属性必须私有化
    3)私有化的属性必须通过public类型的方法暴露给其他程序,并且方法的命名也必须遵守一定的命名规范
    public class Persion{
        /** 姓名*/
        private String name;
        /** 性别 String类型*/
        private String sex;
    ​
        public String getName() { return name; }
        public void setName(String name) {  this.name = name; }
    ​
        public String getSex() { return sex; }
        public void setSex(String sex) {  this.sex= sex; }
    }
    

    javaBean的属性

    javaBean的属性可以是任意类型,并且一个JavaBean可以有多个属性。每个属性通常都需要具有相应的
    setter,getter方法,setter方法称为属性修改器,getter方法称为属性访问器
    属性修改器必须以小写的set前缀,后跟属性名,且属性名的第一个字母要修改为大写。如setName setPassword
    属性访问器通常以小写的get前缀开始,后跟属性名,且属性名的第一个字母也要改为大小。如name属性的访问器名称
    为getName,password属性访问名称为getPassword
    一个javaBean某个属性也可以只有set方法或get方法,这样的属性也称为只读,只写属性
    

    jsp中的javaBean

    jsp提供了三个关于javaBean组件的动作元素,即jsp标签,他们分别是
    <jsp:useBean> 标签:用于在jsp页面中查找或实例化,一个javaBean组件
    <jsp:setProperty>标签:用于在jsp页面中设置一个javaBean组件的属性
    <jsp:getProperty>标签:用于在jsp页面中获取一个javaBean的组件的属性
    <jsp:useBean>标签
    <jsp:useBean>标签用于在指定的域范围内超照指定名称的javaBean对象,如果存在则直接返回该javaBean对象的引用,如果不存在则实例化一个新的JavaBea对象并将它以指定的名称存储到指定的域范围中。
    常用的语法:
        <jsp: useBean id="beanName" class="package.class" scope="page|request|session|application" />
       "id"属性用于指定JavaBean实例对象的引用名称和其存储在域范围中的名称
       "class"属性用于指定JavaBean完整类名(即必须带有包名)
       "scope" 属性用于指定JavaBean实例对象所存储的域范围,其取值只能是page,request,session,application四个值中的一个,默认page
    

    jsp:useBean指定原理

       上面我们在index.jsp中使用<jsp:useBean id=persion" class="javabean.Persion" scope="page" />实例化了一个javabean.Persion
    类的对象,那么这个persion对象是怎么实例化出来的呢,index.jsp在执行过程中首先会翻译成一个servlet,因此我们可以通过查看index.jsp页面生成的servlet代码来查看person对象的实例化过程。
    
    <jsp:useBean>标签的执行原理:首先在指定的域范围内查找指定名称javaBean对象,如果存在则直接返回该JavaBean对象的引用,如果不存在则实例化一个新的javaBean对象并将它以指定的名称存储到指定的与范围中。
    <带标签的jsp:useBean>标签
    语法:<jsp:useBean> Body <jsp:useBean>
    功能:Body部分内容只在<jsp:useBean>标签创建JavaBean实例对象时才执行。这种做法用的不多
    

    jsp:setProperty标签

    <jsp:setProperty>标签用于设置和访问JavaBean对象的属性
    语法格式一:
        <jsp:setProperty name="beanName" property="propertyName" value="String 字符串" />
     语法格式二:
        <jsp:setProperty name="beanName" property="propertyName" value="<%= expression%>" />
    语法格式三:
        <jsp:setProperty name="beanName" property="propertyName" param="parameterName" />
    语法格式四:
         <jsp:setProperty name="beanName" property="*" />
    name属性用于指定JavaBean对象的名称
    property属性用于指定JavaBean实例对象的属性名
    value属性用于指定JavaBea对象的某个属性的值,value的值可以是字符串,也可以是表达式。为字符串时,该值会自动转换为JavaBean
    属性相应的类型,如果value的值是一个表达式,那么该表达式的计算结果必须与所要设置的javaBean属性的类型一致。
    param属性用于将javaBean实例对象的某个属性值设置为一个请求参数值,该属性值同样会自动转换成要设置的JavaBean属性的类型。
    

    jsp:getProperty标签

    该标签用于读取JavaBean对象的属性,也就是调用JavaBean对象的getter方法,然后将读取的属性值转换成字符串后插入到输出响应的
    正文中。
    <jsp:getProperty name="beanInstanceName" property="PropertyName" />
    name:属性用于指定JavaBean实例对象的名称,其值应与<jsp:useBean>标签的id属性值相同
    property:属性用于指定JavaBean实例对象的属性名
    如果一个JavaBean实例对象某个属性的值为null,那么,使用<jsp:getProperty>标签输出该属性的结果将是一个内容为null的字符串
    
  • 相关阅读:
    AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
    Java中List集合去除重复数据的方法
    java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结
    Spring 中配置log4j日志功能
    log4j配置文件加载方式
    程序中使用log4J打印信息的两种方式
    elasticsearch常用命令
    接私活必备的10个开源项目??
    初识Elasticsearch
    常用在线工具
  • 原文地址:https://www.cnblogs.com/ssgao/p/8866545.html
Copyright © 2020-2023  润新知