JavaBean可以用來將現實世界的一個實體,包括屬性和操作都封裝成一個java對象。Jsp通過<jsp:userBean>、<jsp:setProperty>、<jsp:getProperty>動作使用javaBean,對他們進行實例化、賦值和存取操作。JavaBean是用java語言描述的軟件組件模型,實際上是一個特殊的java類,遵循一個藉口格式。程序中往往有重複使用的部分,當需要這個功能的時候就可以調用相應的javaBean。javaBean作爲一個特殊的類,需要滿足以下規範。
javaBean類是一個public類,可供其他類實例化。
javaBean類如果有構造方法,則這個構造方法必須是沒有參數的構造方法。
javaBean類所有的屬性最好定義爲私有的。
javaBean類定義public的方法setXXX()和getXXX()來對屬性進行操作,其中Xxx是首字母大寫的私有變量名稱。getXXX()方法用來獲取屬性值,
setX
XX
()用來設置屬性值。
下面是一個javaBean計算器的例子
這個是jsp頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>javabeanCalculator</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<%@page import="javatest.JbCalculator"%>
<!--導入JbCalculator-->
</head>
<body>
<div align="center"style="background-color:#CDAA7D;width:150px;">
<form action="" method="post">
輸入第一個數:<br/>
<input type="text" name="num1" size="15"/><br/>
請選擇運算符:<br/>
<input type="radio" name="flag" value="1" /><font size="5"><b>+</b></font>
<input type="radio" name="flag" value="2" /><font size="5"><b>-</b></font>
<input type="radio" name="flag" value="3" /><font size="5"><b>*</b></font>
<input type="radio" name="flag" value="4" /><font size="5"><b>/</b></font>
<br/>
輸入第二個數:<br/>
<input type="text" name="num2"size="15"/><br/>
<input type="submit" value="計算"/><br/>
</form>
<!--實例化JbCalculator類的coc對象-->
<jsp:useBean id="coc" class="javatest.JbCalculator" scope="page"/>
<!—直接使用自動賦值,前提是form表中的屬性名要跟JbCalculator中的屬性名相匹配-->
<jsp:setProperty property="*" name="coc"/>
<!—調用compter()方法進行運算並把結果賦值給result-->
<%
int result=coc.comupter();
%>
輸出的結果爲:<%=result %><br/>
</div>
</body>
</html>
這個是處理計算的java文件
package javatest;
public class JbCalculator {
//要計算的第一個數
private int num1;
//要計算的第二個數
private int num2;
//用1、2、3、4分別代表+、-、*、/的運算符
private int flag;
//用來保存結果
private int result;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public int getFlag() {
return flag;
}
public void setFlag(int flag) {
this.flag = flag;
}
//用來計算的函數
public int comupter() {
switch (flag) {
case 1:result=num1+num2;break;
case 2:result=num1-num2;break;
case 3:result=num1*num2;break;
case 4:result=num1/num2;break;
default:
break;
}
return result;
}
}