JavaBean规范入门

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pageEncoding="gb2312"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > < html> < head>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312"> < title>简单JavaBean</title> </head> < body>
< html> < head> < meta http-equiv="Content-Type" content="text/html; charset=ISO-88591.> < title>simple JavaBean</title> </head> < body>
<% SimpleBean sb = new SimpleBean() ; sb.setName("index") ; sb.setPassword("123456") ;
%> < h1>name:<%=sb.getName()%></h1> < h1>pass:<%=sb.getPassword()%></h1> </body>
</html>
通过 page 指令的 import 语句,就可以导入在 classes 文件夹里的所有的类, 这里我导入了刚刚写好的 JavaBean。然后就可以在 JSP 页面中使用它了,这里Hale Waihona Puke Baidu 我们通常使用 Java 的类的方式是一样的。
pageEncoding="ISO-8859-1"%> <%@ page import="com.myapp.beans.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > < html> < head> < meta http-equiv="Content-Type" content="text/html; charset=ISO-88591.> < title>Simple Bean 2</title> </head> < jsp:useBean id="sb" scope="page" class="com.myapp.beans.SimpleBean" ></jsp:useBean> < body>
JavaBean
其实就是一个Java类,但是它必须遵守一定的编写规则。
JavaBean 从功能上来讲,我将它分为业务 Bean 和实体 Bean 两类,下面我通过 一个实体 Bean 的开发示例,来讲述 JavaBean 开发中的一些基础技术。
实体 Bean 的主要作用是用来对系统中要用到的数据进行封装,这些数据包括 用户从前台的输入和从数据库中读取的数据等等,是 JavaBean 中较简单的一类。
<%@page contentType="text/html;charset=gb2312" %> < jsp:useBean id="loginfo" class="com.myapp.beans.LogBean" scope="request"/> < HTML>
< HEAD> < TITLE>登录JavaBean</TITLE>
SimpleBean.java:
package com.myapp.beans;
public class SimpleBean { private String name; private String password;
public SimpleBean() { System.out.println("*SimpleBean*");
}
public void setPassword(String password) { this.password = password;
}
public String getName() { return this.name;
}
public String getPassword() { return this.password;
< HEAD> < TITLE>简单JavaBean</TITLE>
</HEAD> < BODY> <%request.setCharacterEncoding( "gb2312");%>
< jsp:setProperty name="sb" property="*"/> < h1>姓名:<jsp:getProperty name="sb" property="name"/></h1> < h1>密码:<jsp:getProperty name="sb" property="password"/></h1> </BODY> </HTML>
}
public void setName(String name) { this.name = name;
}
public void setPassword(String password) { this.password = password;
}
public String getName() { return this.name;
现在就可以在 JSP 页面里来调用这个 JavaBean 了。编写 index.jsp 页面如 下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="com.myapp.beans.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
}
public String getErrorMsg(String message) { String errorMsg = (String) errors.get(message.trim()); return ((errorMsg == null) ? " " : errorMsg);
}
}
这个 JavaBean 里增加了表单数据校检功能。 index.jsp:
password.length() < 6) { errors.put("password", "password length mush gt
6.); password = " "; ok = false;
} return ok; }
public void setName(String name) { this.name = name;
对于以上的代码,我们认为还是不满意,因为给 JavaBean 赋值和取值的这个 过程,仍然是由程序员来完成的,这样还是会导致大量的 Java 代码与 HTML 代码 混编在一起,于是我们应该掌握 JavaBean 在 JSP 中使用的最佳方式。
一种调用方式: <jsp:useBean id=" 对象" scope="作用范围" class="包.类"/>
四种设值方式: <jsp:setProperty name="对象" property="*"/> <jsp:setProperty name="对象" property="属性"/> <jsp:setProperty name="对象" property="属性" param="参数名 "/> <jsp:setProperty name="对象" property="属性" value="值"/>
< FORM METHOD=POST ACTION="show.jsp"> 帐号:<INPUT TYPE="text" NAME="name"><BR> 密码:<INPUT TYPE="password" NAME="password"> < INPUT TYPE="submit" VALUE="确定">
这种使用方式在实际开发中是不会使用到的,因为 JavaBean 对象的生成应该 由容器来完成,而不是由程序员来手工完成,下面我们使用 JSP 标签来使用 JavaBean,我们将 index.jsp 修改如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
</HEAD> < BODY> < FORM METHOD=POST ACTION="login.jsp">
帐号:<INPUT TYPE="text" NAME="name"> <%=loginfo.getErrorMsg("name") %><BR>
一种取值方式: <jsp:getProperty name="对象" property="属性"/>
以上列出了 JavaBean 在 JSP 中的常用方式,最常用的就是四种设值方式中的 第一种,它可以将表单中传来的值,全部自动填充到 JavaBean 里,例如: index.jsp:
<%@ page language="java" contentType="text/html; charset=gb2312"
</FORM> </body>
</html>
show.jsp:
<%@page contentType="text/html;charset=gb2312" %>
< jsp:useBean id="sb" scope="page"
class="com.myapp.beans.SimpleBean" /> < HTML>
public LogBean() { name = ""; password = ""; errors = new Hashtable();
}
public boolean validate() { boolean ok = true; if (name.equals("") || name == null) { errors.put("name", " plz niput ur name"); name = " "; ok = false; } if (password.equals("") || password == null ||
要实现值的自动填充,必须使表单元素名与 JavaBean 中的属性名保持一致, 并且类型也要保持一致。
使用JavaBean 的登录范例
LogBean.java:
package com.myapp.beans;
import java.util.*;
public class LogBean {
private String name; private String password; private Hashtable errors; // store err msg
}
public String getPassword() { return this.password;
}
}
以上代码就是一个简单的 JavaBean 的示例,它严格遵守了 JavaBean 的编码 规则,即:
⑴ JavaBean 必须放在一个包中 ⑵ JavaBean 必须申明为 public class ⑶ JavaBean 的所有属性必须申明为 private ⑷ 通过 setter 方法和 getter 方法设值和取值 ⑸ 通过 JSP 调用时,则需一个无参的构造方法 ⑹ 编写代码要严格遵守 Java 程序的命名规范
<% sb.setName("index2") ; sb.setPassword("123456") ;
%> < h1>name:<%=sb.getName()%></h1> < h1>pass:<%=sb.getPassword()%></h1> </body>
</html>
<jsp:useBean>标签用来创建 JavaBean 对象,它通常使用到的属性有三个: id 表示对象名;scope 表示对象的作用范围;class 表示该对象所属的包和类。
相关文档
最新文档