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

jsp jsp_javabean的更多相关文章

  1. myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)

    1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...

  2. jsp前端实现分页代码

    前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...

  3. jsp中出现onclick函数提示Cannot return from outside a function or method

    在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...

  4. jsp页面无法识别el表达式的解决方案

    今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...

  5. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  6. 浅谈JSP注释

    HTML注释 JSP文件是由HTML尿急和嵌入的Java程序片段组成的,所以在HTML中的注释同样可以在JSP文件中使用.注释格式:<!--注释内容--> <!-- 欢迎提示信息! ...

  7. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  8. Nginx服务器之Nginx与tomcat结合访问jsp

    本文使用linux centos系统 本文概述: JSP是一种动态网页技术标准.使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件.使用JSP开发WEB应用可以跨平台开发.但jsp需 ...

  9. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

随机推荐

  1. 20145339顿珠 Exp5 MSF基础应用

    20145339顿珠 Exp5 MS08_067漏洞测试 实验过程 IP地址:192.168.1.104 虚拟机ip:192.168.1.102 在控制台内使用search ms08_067查看相关信 ...

  2. Go第一篇之轻松入门

    Go语言简介 Go语言简史 Go 语言(或 Golang)是 Google 在 2007 年开发的一种开源编程语言,于 2009 年 11 月 10 日向全球公布.Go 是非常年轻的一门语言,它的主要 ...

  3. 【第十五章】 springboot + pojo默认值设置

    我们有时需要给POJO设置默认值 pojo设置(推荐) 1.User package com.xxx.firstboot.domain; import lombok.Getter; import lo ...

  4. ACM-ICPC 2018 南京赛区网络预赛 E AC Challenge 状压DP

    题目链接: https://nanti.jisuanke.com/t/30994 Dlsj is competing in a contest with n (0 < n \le 20)n(0& ...

  5. LA 3486 Cells(判祖先+栈模拟dfs)

    https://vjudge.net/problem/UVALive-3486 题意: 判断u是否是v的祖先. 思路: 很简单,dfs遍历,记录每个节点第一次访问时的时间戳 in[i] 和第二次访问时 ...

  6. Centos下挖XMR门罗币的详细教程

    很多朋友都看过我之前写的Ubuntu下挖XMR门罗币的教程,也有很多朋友提出,为什么不写个Centos的教程出来,今天我在这里就写个Centos的教程,看这个教程前,大家先看看之前的教程,因为里面涉及 ...

  7. jQuery.page 分页控件

    分享一下自己在项目中引用的Jquery分页控件 index.html内容 <!DOCTYPE html> <html lang="zh-cn" xmlns=&qu ...

  8. iBatis的基本配置+CRUD操作

    首先解释一下CRUD的含义:CRUD是指在做计算处理时的增加(Create).查询(Retrieve)(重新得到数据).更新(Update)和删除(Delete) 基本的数据库操作 创建工程iBati ...

  9. ubuntu server 多网卡

    https://wenku.baidu.com/view/51fb15742f60ddccdb38a007.html

  10. SQLServer中对时间和长度的处理

    ---关于时间处理的函数 GETDATE() DATEADD(DAY,-20,GETDATE()) CONVERT(VARCHAR(100), GETDATE(), 112) DATENAME(PAR ...