您的位置:首页 > 编程语言 > Java开发

JavaBean

2013-09-24 15:53 369 查看
JavaBean

一:
满足这三个条件:

1.执行java.io.Serializable 接口

 2.提供无参数的构造器

3.提供getter 和 setter方法访问它的属性.

简单地说,JavaBean是用Java语言描述的软件组件模型,其实际上是一个类。这些类遵循一个接口格式,以便于使函数命名、底层行为以及继承或实现的行为,可以把类看作标准的JavaBean组件进行构造和应用。
JavaBean一般分为可视化组件和非可视化组件两种。可视化组件可以是简单的GUI元素,如按钮或文本框,也可以是复杂的,如报表组件;非可视化组件没有GUI表现形式,用于封装业务逻辑、数据库操作等。其最大的优点在于可以实现代码的可重用性。JavaBean又同时具有以下特性。
易于维护、使用、编写。
可实现代码的重用性。
可移植性强,但仅限于Java工作平台。
便于传输,不限于本地还是网络。
可以以其他部件的模式进行工作。
二:javabean与jsp的完美结合
1.<jsp:useBean>标示应用
语法:
<jsp:useBean id="实例名" scope="范围" class="完整类名" beanName="完整类名" type="数据类型">

........

</jsp:useBean>
属性:
id

给一个变量命名,此变量将指向bean。如果发现存在一个具有相同的id和scope 的bean则使用之而不新建一个。

class

指出bean的完整的包名。

scope

指 明bean在之上可以被使用的前后关系。有四个可能的值:page,request,session,和application。缺省为page,表明 bean仅在当前页可用(保存在当前的pagecontext中)。request的一个值表明bean仅用于当前客户端的请求(保存在 servletrequest对象中)。session的值指出在当前的httpsession的生命周期内,对象对所有的页面可用。 最后,application的值指出对象对所有共享servletscontext的页面可以使用。使用jsp:usebean 仅在没有相同的id和scope 的bean时创建一个新的bean,如果已有则使用之,并忽略以jsp:usebean标志开始和结尾的代码。

beanname

赋予bean一个名字,您应该在beans的实例化方法中提供。它允许您给出type和一个beanname,并省略类属性。

1.<jsp:getProperty/>
例子:
package cn.com.javabean;

public class Produce {

private String name="java web编程宝典";

private String add="珠海市香洲区";

private Double price=469.9;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getAdd() {

return add;

}

public void setAdd(String add) {

this.add = add;

}

public Double getPrice() {

return price;

}

public void setPrice(Double price) {

this.price = price;

}

}

Index.jsp
<jsp:useBean id="produce" class="cn.com.javabean.Produce" />

<div>

<ul>

<li>商品名稱:<jsp:getProperty property="name" name="produce"/>,或者 <%=produce.getName() %></li>

<li>地址:<jsp:getProperty property="add" name="produce"/>,或者<%=produce.getAdd() %></li>

<li>價格:<jsp:getProperty property="price" name="produce"/>,或者<%=produce.getPrice() %></li>

</ul>

</div>
2.<jsp:setProperty /> 给javabean属性赋值
(1)
<jsp:setProperty property="name" name="produce" value="javaee变成宝典"/>

Index.jsp
<jsp:useBean id="produce" class="cn.com.javabean.Produce" />

<jsp:setProperty property="name" name="produce" value="javaee变成宝典"/>

<jsp:setProperty property="add" name="produce" value="广东省 珠海市 香洲区 南方软件园B6栋楼宇能科技有限公司"/>

<jsp:setProperty property="price" name="produce" value="888.8"/>

<div>

<ul>

<li>商品名稱:<jsp:getProperty property="name" name="produce"/>,或者 <%=produce.getName() %></li>

<li>地址:<jsp:getProperty property="add" name="produce"/>,或者<%=produce.getAdd() %></li>

<li>價格:<jsp:getProperty property="price" name="produce"/>,或者<%=produce.getPrice() %></li>

</ul>

</div>
(2)
reg.jsp接收在index.jsp提交的所有信息并显示在页面
在reg.jsp 添加如下一行代码
<jsp:setProperty property="*" name="produce"/>

注意: property="*" 时必须满足条件是 index.jsp文本框的属性name要与javabean类的属性名称一致

reg.jsp
<jsp:useBean id="produce" class="cn.com.javabean.Produce" />

<jsp:setProperty property="*" name="produce"/>

<div>

<ul>

<li>商品名稱:<jsp:getProperty property="name" name="produce"/>,或者 <%=produce.getName() %></li>

<li>地址:<jsp:getProperty property="add" name="produce"/>,或者<%=produce.getAdd() %></li>

<li>價格:<jsp:getProperty property="price" name="produce"/>,或者<%=produce.getPrice() %></li>

</ul>

</div>
(3)当index.jsp文本框的属性name要与javabean类的属性名称一致时,应该如下赋值

在reg.jsp中添加代码

<jsp:setProperty property="name" name="produce" param="name1"/>

Params是index.jsp的文本框的属性名name1

Index.jsp

<form action="reg.jsp" method="post">

<table align="center">

<tr>

<td>名称:</td>

<td><input type="text" name="name1"/></td>

</tr>

<tr>

<td>地址:</td>

<td><input type="text" name="add1"/></td>

</tr>

<tr>

<td>价格:</td>

<td><input type="text" name="price1"/></td>

</tr>

<tr>

<td>

<input type="submit" value="提交"/>

</td>

</tr>

</table>

</form>

Reg.jsp

<jsp:useBean id="produce" class="cn.com.javabean.Produce" />

<jsp:setProperty property="name" name="produce" param="name1"/>

<jsp:setProperty property="add" name="produce" param="add1"/>

<jsp:setProperty property="price" name="produce" param="price1"/>

<div>

<ul>

<li>商品名稱:<jsp:getProperty property="name" name="produce"/>,或者 <%=produce.getName() %></li>

<li>地址:<jsp:getProperty property="add" name="produce"/>,或者<%=produce.getAdd() %></li>

<li>價格:<jsp:getProperty property="price" name="produce"/>,或者<%=produce.getPrice() %></li>

</ul>

</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: