• Javabean及其在jsp中的应用


    Javabean及其在jsp中的应用

    一、Javabean简介

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

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

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

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

      属性访问器通常以小写的get 前缀开始,后跟属性名,且属性名的第一个字母要改为大写,例如,nickName属性的访问器名称为getNickName,password属性的访问器名称为getPassword。

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

    二、在jsp中如何使用Javabean

      JSP规范专门定义了三个JSP标签:<jsp:useBean>、<jsp:setProperty>和<jsp:getPropperty>,它们分别用于创建和查找JavaBean的实例对象、设置JavaBean对象的属性、读取JavaBean对象的属性。

      对于JSP页面来说,只要一个类具有一个公共的、无参数的构造方法,就可以把这个类当作JavaBean来使用,如果类中有不接受任何参数的getter方法或只接受一个参数的setter方法,就可以把前缀“get”或“set”后面的部分当着一个属性名来引用。

      JSP页面可以像调用一个普通Java类的方式去调用JavaBean,即先使用Java代码创建JavaBean的实例对象,然后直接调用JavaBean对象的getter方法和setter方法。

    三、<jsp:useBean>标签

      <jsp:useBean>标签用于在某个指定的域范围(application、session、request、pageContext等)中查找一个指定名称的JavaBean对象,如果存在则直接返回该JavaBean对象的引用,如果不存在则实例化一个新的JavaBean对象并将它按指定的名称存储在指定的域范围中。
      常见语法:
      <jsp:useBean id="beanInstanceName " class="package.class" scope="page|request|session|application"/>

      class属性用于指定JavaBean的完整类名(即必须带有包名)。

      id属性用于指定JavaBean实例对象的引用名称和其存储在域范围中的名称。

      scope属性用于指定JavaBean实例对象所存储的域范围,其取值只能是page、request、session和application等四个值中的一个,其默认值是page。

    四、<jsp:setProperty>标签

      <jsp:setProperty>标签用于设置JavaBean对象的属性,也就是调用JavaBean对象的setter方法。
      语法格式:
      <jsp:setProperty name="beanInstanceName"
      {
          property="propertyName" value="{string | <%= expression %>}" |
          property="propertyName" [ param="parameterName" ] |
          property= "*"
      }/>

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

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

      value属性用于指定JavaBean实例对象的某个属性的值,其设置值可以是一个字符串,也可以是一个表达式。如果value属性的设置值是一个表达式,那么该表达式的结果类型必须与所要设置的JavaBean属性的类型一致。 

      param属性用于将JavaBean实例对象的某个属性值设置为一个请求参数值,它可以将作为字符串类型返回的请求参数值自动转换成要设置的JavaBean属性的类型。

    五、<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的注意事项

      JavaBean应放置在JSP页面的类装载器或其父级类装载器所能装载的目录中,通常放置于WEB应用程序下的 WEB-INF/classes目录中。

      有些版本的Tomcat不会自动重新加载修改过的JavaBean,如果JSP页面加载JavaBean以后又修改和重新编译了JavaBean程序,那么需要修改JSP页面或者重新启动Tomcat。

      JavaBean必须带有包名,不能用缺省包名。

      在选择存储JavaBean的域范围时,如果使用request域能够满足需求的话,则不要使用Session域。

    如果,您对我的这篇博文有什么疑问,欢迎评论区留言,大家互相讨论学习。
    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
    如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
    如果,您对我的博文感兴趣,可以关注我的后续博客,我是【AlbertRui】。

    转载请注明出处和链接地址,欢迎转载,谢谢!

  • 相关阅读:
    hdu6229 Wandering Robots 2017沈阳区域赛M题 思维加map
    hdu6223 Infinite Fraction Path 2017沈阳区域赛G题 bfs加剪枝(好题)
    hdu6438 Buy and Resell 买卖物品 ccpc网络赛 贪心
    hdu6441 Find Integer 求勾股数 费马大定理
    bzoj 1176 Mokia
    luogu 3415 祭坛
    bzoj 1010 玩具装箱
    bzoj 3312 No Change
    luogu 3383【模板】线性筛素数
    bzoj 1067 降雨量
  • 原文地址:https://www.cnblogs.com/albertrui/p/8460067.html
Copyright © 2020-2023  润新知