JavaBean技术初识

来源:互联网 发布:java工程师技术手册 编辑:程序博客网 时间:2024/06/14 05:01

  JavaBean就是把程序中的实体对象及业务逻辑单独的封装到Java类当中。然后再JSP页面中调用这个封装好的类,这样可以降低HTML与Java代码的耦合度,简化界面。

JavaBean的规范

  • 公共的无参构造方法:这样可以通过new直接对该对象进行实例化。
  • 类的申明非final类型:final类型不可更改。
  • 实现可序列接口:JavaBean应该直接或间接的实现Java.io.Serializable接口,已支持序列化机制。
  • 为属性声明访问器

    在实际开发中,JavaBean的属性应该用小写字母开头,采用驼峰命名法。


获取JavaBean的属性

Produce 类

public class Produce {    private String name="Java编程宝典";    private double price=200;    private int count=10;    public Produce(){}    public String getName() { return name;  }    public void setName(String name) { this.name = name; }    public double getPrice() { return price; }    public void setPrice(double price) { this.price = price; }    public int getCount() { return count; }    public void setCount(int count) { this.count = count; }}

在index.jsp中访问

<%@ page contentType="text/html;charset=UTF-8" language="java" %><jsp:useBean id="Produce" class="com.java.model.Produce"></jsp:useBean><html>  <head>    <title>$Title$</title>  </head>  <body>  <ul>    <li>名称:<%=Produce.getName()%></li>    <li>价格:<%=Produce.getPrice()%></li>    <li>数量:<%=Produce.getCount()%></li>  </ul>  </body></html>

对JavaBean的属性赋值
类还是用之前的Produce类

<jsp:useBean id="produce" class="com.java.model.Produce" ></jsp:useBean><jsp:setProperty name="Produce" property="name" value="JAVA WEB专业技能"></jsp:setProperty><jsp:setProperty name="Produce" property="price" value="100"></jsp:setProperty><jsp:setProperty name="Produce" property="count" value="20"></jsp:setProperty><body><ul>    <li>名称:<jsp:getProperty name="Produce" property="name"></jsp:getProperty></li>    <li>价格:<jsp:getProperty name="Produce" property="price"></jsp:getProperty></li>    <li>数量:<jsp:getProperty name="Produce" property="count"></jsp:getProperty></li></ul></body>

在JSP页面间应用JavaBean

addProduce.jsp页面

<body><form action="showProduce.jsp" method="post">    <input type="text" name="name"><br>    <input type="text" name="price"><br>    <input type="text" name="count"><br>    <input type="submit"></form></body>

showProduce.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %><% request.setCharacterEncoding("UTF-8");%><jsp:useBean id="produce" class="com.java.model.Produce" >    <jsp:setProperty name="produce" property="*"></jsp:setProperty>   //使用property="*" 要求属性名与表单的相应name相同</jsp:useBean><html><head>    <title>产品列表</title></head><body>    <ul>        <li>名称:<jsp:getProperty name="produce" property="name"></jsp:getProperty></li>        <li>价格:<jsp:getProperty name="produce" property="price"></jsp:getProperty></li>        <li>数量:<jsp:getProperty name="produce" property="count"></jsp:getProperty></li>    </ul></body></html>

当属性名不是对应时,可以使用下面的方式对其赋值:

<% request.setCharacterEncoding("UTF-8");%><jsp:useBean id="produce" class="com.java.model.Produce" >    <jsp:setProperty name="produce" property="name" param="username"></jsp:setProperty>       <jsp:setProperty name="produce" property="price" param="userprice"></jsp:setProperty>       <jsp:setProperty name="produce" property="count" param="usercount"></jsp:setProperty>   </jsp:useBean>
0 0