JSP第三篇【JavaBean的介绍、JSP的行为--JavaBean】(二)

简介: JavaBean就是一个普通的java类,也称之为简单java对象--POJO(Plain Ordinary Java Object),是Java程序设计中一种设计模式,是一种基于 Java 平台的软件组件思想 JavaBean遵循着特定的写法,通常有以下的规则: 有无参的构造函数 成员属性私有化 封装的属性如果需要被外所操作,必须编写public类型的setter、getter方法 上面的文字看起来好像很高大上,javaBean其实非常简单,下面的代码就是按照特定写法、规则编写的一个JavaBean对象

我们来使用jsp:setProperty了来看看:

 <jsp:useBean id="person" class="domain.Person" scope="page"/>
    <%--指定属性名称为age--%>
    <jsp:setProperty name="person" property="age"/>
    <%
        System.out.println(person.getAge());
    %>

也可以完成,并且代码更少,功能更强大52.jpg

  • 代码更少可以直观看出来,为什么我说它功能更加强大呢?表单提交过来的数据都是字符串,在我们没有用jsp:setProperty前,我们存储设置int类型或其他非字符串类型的数据是需要强转的!但是jsp:setProperty不需要我们强转,它内部自动帮我们转换了
  • 我们再来使用一下自动匹配来感受它的强大之处吧
    <jsp:useBean id="person" class="domain.Person" scope="page"/>
    <%--property的值设置为*就代表自动匹配--%>
    <jsp:setProperty name="person" property="*"/>
    <%
        System.out.println(person.getAge());
        System.out.println(person.getName());
    %>

我们再来看一下效果:53.jpg

  • 看到这里,有人可能会觉得好神奇:只要设置property的值就可以将表单传递过来的数据封装到JavaBean对象中了!这究竟是这样做到的???
  • 细心的朋友会发现,JavaBean的属性名称和表单的name属性设置的名称是一模一样的
  private String username ;
        private int age;
        用户名:<input type="text" name="username">
        年龄:<input type="text " name="age">
  • 如果我设置不一样还能不能用?我们试试:表单name属性的username改成是user

   用户名:<inputtype="text"name="user">

  • 我们再来看看还能不能把表单的数据完整地封装JavaBean对象中
    54.jpg
  • 我们可以发现:要想能够把表单带过来的数据成功封装到JavaBean对象上,名字要一致!也就是说:JavaBean属性名要和表单的name的名称一致
  • 至于原理,它是通过反射来做的,调用了内省的方法!,我们看编译后的JSP就明白了。
    55.jpg

jsp:getProperty

  • 语法:

  • 该jsp行为十分简单,我们来使用一下就知道了。
 <%--使用<jsp:getProperty>输出--%>
    <jsp:getProperty name="person" property="username"/>
    <jsp:getProperty name="person" property="age"/>

 

  • 效果:

56.jpg

原理如下57.jpg

如果文章有错的地方欢迎指正,大家互相交流。

目录
相关文章
|
24天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
19 1
|
24天前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
19 0
|
24天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
7 0
|
24天前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
14 0
|
24天前
|
Java
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
16 0
|
3月前
|
Java 数据库连接 数据库
通过JSP、JavaBean、JDBC、Servlet技术,实现用户登录功能
通过JSP、JavaBean、JDBC、Servlet技术,实现用户登录功能
|
9月前
|
存储 数据可视化 Java
JavaBean和JSP六大标签的使用《笔记内容一》
JavaBean和JSP六大标签的使用《笔记内容一》
64 0
|
10月前
|
存储 前端开发 Java
【JavaWeb】JAVABean+Session实现JSP登录注册(List模型数据库用户信息存储+商品展示)
先说说这个题目吧,好端端的数据库不连,偏偏喜欢要整一个JavaBean和List来模拟数据库,虽然说这样的做法非常的愚蠢,但没办法,毕竟是主人的任务是吧doge。作者其实已经做了一版,但是这代码写的实在是。。。于是乎作者使用了MVC框架后整理了一个新的。(如果你学了servlet,那会发现和它的结构和思想非常的像)
85 0
|
11月前
|
前端开发 JavaScript Java
【JavaWeb】手写一个Servlet+JSP+JavaBean分页
【JavaWeb】手写一个Servlet+JSP+JavaBean分页
|
12月前
|
Java API
JSP JavaBean
JSP JavaBean
57 0