• JavaBean


    1、简介:JavaBean将HMTL代码和Java混编的代码分离开来,做到了可重用性。

    2、JavaBean种类:JavaBean分为可视化和非可视化JavaBean。非可视化JavaBean没有可视化的界面,并可以分为值JavaBean和工具JavaBean。值JavaBean严格遵循了JavaBean的命名规范,通常用来封装表单数据,作为信息的容器。工具JavaBean可以不遵循JavaBean规范,通常用于封装业务逻辑、数据操作等,如数据库操作和解决中文乱码问题。

    3、JavaBean是Java语言写成的可重用的组件,它应用于很多层中,如PO,VO,DTO和POJO等。

    4、获取JavaBean属性:通常将JavaBean属性私有化,提供公共的访问接口,用getter()方法。在JSP中要尽量避免使用java代码,所以使用java动作标识比较合适。gtter和setter方法和getBean和setBean对应。如下:

    index.jsp页面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <jsp:useBean id="Product" class="javaBean1.Product" scope="page">
        <jsp:setProperty name="Product" property="name" value="手机" />
        <jsp:setProperty name="Product" property="price" value="1999" />
        <jsp:setProperty name="Product" property="count" value="1" />
        <jsp:setProperty name="Product" property="address" value="中关村" />
    </jsp:useBean>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <!-- 商品类的属性赋值和取出 -->
    <div>
        <ul>
            <li>商品名称:<jsp:getProperty name="Product" property="name"/></li>
            <li>商品价格:<jsp:getProperty name="Product" property="price"/></li>
            <li>商品数量:<jsp:getProperty name="Product" property="count"/></li>
            <li>生产地址:<jsp:getProperty name="Product" property="address"/></li>
        </ul>
    </div>
    </body>
    </html>

    Product.java文件

     1 package javaBean1;
     2 //商品类的JavaBean,需要严格遵循JavaBean规范
     3 public class Product
     4 {
     5     private String name="真空杯";    //商品名称
     6     private double price=3324;        //商品价格
     7     private int count=43;            //商品数量
     8     private String address="义乌小商品城";  //商品生产地址
     9     public String getName()
    10     {
    11         return name;
    12     }
    13     public void setName(String name)
    14     {
    15         this.name=name;
    16     }
    17     public double getPrice()
    18     {
    19         return price;
    20     }
    21     public void setPrice(double price)
    22     {
    23         this.price=price;
    24     }
    25     public int getCount()
    26     {
    27         return count;
    28     }
    29     public void setCount(int count)
    30     {
    31         this.count=count;
    32     }
    33     public String getAddress()
    34     {
    35         return address;
    36     }
    37     public void setAddress(String address)
    38     {
    39         this.address=address;
    40     }
    41 }

    5、办公自动化系统中录入员工信息的JavaBean实现

    index.jsp页面

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>主页</title>
    </head>
    <body>
    <!-- 员工信息录入页面 -->
    <form name="form1" action="register.jsp" method="post">
        姓 名:<input type="text" name="name"><br><br>
        年 龄:<input type="text" name="age"><br><br>
        性 别:<input type="text" name="sex"><br><br>
        住 址:<input type="text" name="add"><br><br>
        <input type="submit" name="submit1" value="添加">
    </form>
    </body>
    </html>

    register.jsp页面

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%--
        显示用户的信息,使用Person类的JavaBean,将表单的值赋给JavaBean,然后显示出来在register.jsp页面上
    --%>
    <% request.setCharacterEncoding("UTF-8");%>
    <jsp:useBean id="Person" class="javaBean1.Person" scope="page"></jsp:useBean>
    <jsp:setProperty name="Person" property="*" />
    <jsp:setProperty name="Person" property="address" param="add" />
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>员工信息</title>
    </head>
    <body>
    <ul>
        <li>姓 名:<jsp:getProperty property="name" name="Person"/></li>
        <li>年 龄:<jsp:getProperty property="age" name="Person"/></li>
        <li>性 别:<jsp:getProperty property="sex" name="Person"/></li>
        <li>住 址:<jsp:getProperty property="address" name="Person"/></li>
    </ul>
    </body>
    </html>

    Person类的JavaBean实现

     1 package javaBean1;
     2 //员工类的JavaBean,需要严格遵循JavaBean规范
     3 public class Person
     4 {
     5     private String name;            //姓名
     6     private int age;                //年龄
     7     private String sex;                //性别
     8     private String address;            //住址
     9     public void setName(String name)
    10     {
    11         this.name=name;
    12     }
    13     public String getName()
    14     {
    15         return name;
    16     }
    17     public void setAge(int age)
    18     {
    19         this.age=age;
    20     }
    21     public int getAge()
    22     {
    23         return age;
    24     }
    25     public void setSex(String sex)
    26     {
    27         this.sex=sex;
    28     }
    29     public String getSex()
    30     {
    31         return sex;
    32     }
    33     public void setAddress(String address)
    34     {
    35         this.address=address;
    36     }
    37     public String getAddress()
    38     {
    39         return address;
    40     }
    41 }

    6、解决留言板的中文乱码问题

    MessageBean类

     1 package com.wgh;
     2 //处理留言信息的JavaBean类
     3 public class MessageBean 
     4 {
     5     private String author;                //作者
     6     private String title;                //标题
     7     private String content;                //留言内容
     8     public void setAuthor(String author)
     9     {
    10         this.author=author;
    11     }
    12     public String getAuthor()
    13     {
    14         return author;
    15     }
    16     public void setTitle(String title)
    17     {
    18         this.title=title;
    19     }
    20     public String getTitle()
    21     {
    22         return title;
    23     }
    24     public void setContent(String content)
    25     {
    26         this.content=content;
    27     }
    28     public String getContent()
    29     {
    30         return content;
    31     }
    32 }

    JavaBean工具类MyTools

     1 package com.wgh;
     2 //解决中文乱码的工具JavaBean类
     3 import java.io.UnsupportedEncodingException;  //不支持转码的异常处理类
     4 public class MyTools 
     5 {
     6     public static String toChinese(String str)
     7     {
     8         if(str=="")
     9         {
    10             return str;
    11         }
    12         else
    13         {
    14             try
    15             {
    16                 //通过String类的狗仔方法将指定的字符串转换为UTF-8编码
    17                 str=new String(str.getBytes("ISO-8859-1"),"UTF-8");
    18             }
    19             catch(UnsupportedEncodingException e)
    20             {
    21                 str="";
    22                 e.printStackTrace();
    23             }
    24             return str;
    25         }
    26         
    27     }
    28 }

    index.jsp页面

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>提交留言信息</title>
    </head>
    <body>
    <!-- 应用JavaBean解决中文乱码问题:
            设计表单留言者、留言标题和留言内容
            设计留言相关信息的MessageBean类
            设计解决中文乱码问题的JavaBean类
            设计处理留言信息JavaBean的JSP页面
            设计展示留言内容的JSP页面
     -->
    <form name="form1" method="post" action="deal.jsp">
    留言者:&nbsp;<input type="text" name="author"><br><br>
    留言标题:<input type="text" name="title"><br><br>
    留言内容:<textarea name="content" rows="6" cols="30"></textarea>
            <input type="submit" name="submit" value="提交">
    </form>
    </body>
    </html>

    deal.jsp页面

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <jsp:useBean id="messageBean" class="com.wgh.MessageBean" scope="request" />
    <jsp:setProperty name="messageBean" property="*" />
    <jsp:forward page="show.jsp" />

    show.jsp页面

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="com.wgh.MyTools" %>
    <jsp:useBean id="messageBean" class="com.wgh.MessageBean" scope="request"/>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>显示留言信息</title>
    <style type="text/css">
        ul{
            list-style:none;
        }
    </style>
    </head>
    <body>
    <ul>
        <li>留言者:&nbsp;<%= MyTools.toChinese(messageBean.getAuthor()) %></li>
        <li>留言标题:<%= MyTools.toChinese(messageBean.getTitle()) %></li>
        <li>留言内容:<textarea rows="6" cols="30" readonly>
                    <%= MyTools.toChinese(messageBean.getContent()) %></textarea></li>
        <li><a href="index.jsp">继续留言</a></li>
    </ul>
    </body>
    </html>
  • 相关阅读:
    PHP双向队列
    [转]数据库查询的3个优化方法
    MySQL性能测试工具 mysqlslap
    PHP各种魔术方法测试
    VBA中级班课时3小结
    VBA中级班课时1小结
    执行cmd并返回程序结果
    Update Dataset data back to Database
    终于会用c#中的delegate(委托)和event(事件)了
    c#: Enqueued event for Queue<T>
  • 原文地址:https://www.cnblogs.com/joeshine/p/4442002.html
Copyright © 2020-2023  润新知