JavaBean技术初识

  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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值