浏览 4295 次
锁定老帖子 主题:JavaBean的使用
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-01
最后修改:2009-11-04
JavaBean: 实质上就是一种Java类,但不包含main方法,主要是为了实现代码重用。 JavaBean通常封装一些属性和方法,实现业务逻辑,进行数据库连接等,将业务逻辑和一些需要反复使用的代码从显示中分离出来。 创建JavaBean的一般模式: package jsp.demo; public class BeanName{ //封装属性 private String attr1; private int attr2; … //对外的属性访问方法 public String getAttr1(){ return attr1; } public void setAttr1(String attr1){ this.attr1=attr1; } …… // 实现其它功能的方法 } 编写JavaBean时,必须满足一些要求: JavaBean必须放在一个包中,即必须包含package JavaBean必须声明成public的类,则文件名与类名也应一致 属性应该封装起来,即声明为private 对于属性的访问通过get、set方法实现,这些方法应为public的,并且一定要符合命名规范。 例如:若属性名为 userName , 则get、set方法名应为 getUserName和setUserName 使用<jsp:useBean>去调用JavaBean时,需要创建其对象,故JavaBean必须有一个无参的构造方法 JSP中使用JavaBean: <jsp:useBean id=”bean的名称” //bean:即由JavaBean类实例化出来的对象 class=”用包名结构表示的bean所属类的类名” scope=”bean的使用范围” //4种之一:page、request、session、application /> 将表单参数值传给JavaBean的实例: <jsp:setProperty name=”所使用的bean的名称” property细节 /> 示例:实现四则运算,将运算逻辑从JSP页面中分离出来 分析: (1) 显示部分:提供用户输入域和显示结果,JSP负责 输入2个数据的文本框 操作符列表 (2) 逻辑部分:2个数据进行+、-、*、/ 四则运算,JavaBean负责 实现过程: (1) 创建JavaBean类Calculate,包含3个属性分别代表运算数1、运算数2和运算符;包含各属性的get、set方法;包含完成四则运算的方法。 (2) 创建cal.jsp页面,设计表单,表单提交给本页处理,显示计算的结果。 表单参数:2个运算数、1个操作符 Calculate的实例 <%@ page import="l17.Calculate" %> <jsp:useBean id="cal" class="l17.Calculate" scope="page"></jsp:useBean> <%-- 表单参数名与bean的属性名不同时,需要分别指定 --%> <jsp:setProperty name="cal" property="one" param="first" /> <jsp:setProperty name="cal" property="two" param="second" /> <%-- 表单参数名与bean的属性名相同时,只指定属性名即可将同名的参数值传给该属性 --%> <jsp:setProperty name="cal" property="op" /> <%-- 若表单参数的名称与bean属性的名称都是一一对应的(即名称相同), 则在 setProperty 标签的中可以使用 property="*" 让其自动传值 但:各属性的set方法必须是规范命名的,否则传值失败 --%> 调用 Calculate 的运算方法进行计算 调用 Calculate 的方法显示结果 计算结果: <% if (request.getParameter("submit") != null) { //表单提交后才计算并显示结果 try { cal.calculate(); } catch (Exception e) { out.println(e.getMessage()); } %> <%=cal.getOne()%> <%=cal.getOp()%> <%=cal.getTwo()%> = <%=cal.getResult()%> <% } //end of if(request.getParameter("submit") != null) %> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |