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>
一:
满足这三个条件:
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>
相关文章推荐
- Java Web入门之JavaBean要点
- javabean里序列化机制和构造函数的作用20170621
- Caused by: java.lang.ClassNotFoundException: flex.messaging.io.BeanProxy
- * Java 两个 Java bean 之间的赋值
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- 01-jsp与javabean
- Android Studio根据Json自动生成JavaBean
- Jsp/Servlet根据请求参数自动填充Java对象:表单Bean
- Java json串生成及转bean
- 黑马程序员_Java高新技术_内省&JavaBean
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- [Java] JSP笔记 - Java Bean
- 访问MySQL的javaBean
- jsf 学习笔记之 JavaBean
- EJB与JavaBean
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- MD5 算法的Java Bean
- JavaWeb学习总结(基于Servlet+JSP+JavaBean开发模式的用户登录注册)
- 关于POJO和JavaBean
- WebService大讲堂之Axis2(7):将Spring的装配JavaBean发布成WebService