初时JavaBean
是一种需要遵循特定规则而编写的Java类,由这种类生成的对象称为JavaBean,简称Bean。
遵循规则:
- 要将类放在包中;
- JavaBean类必须声明为public类型的;
- 要封装内部属性和方法;
- 必须要有一个无参构造函数;
- 若有属性xxx,则必须提供get和set方法;
- 若类中有方法声明,则必须声明为public类型;
- 若属性类型为Boolean类型,则可以用is代替set/get。
package bean;
public class Triangle {
private double a;
private double b;
private double c;
private double area;
private boolean triangle;
public Triangle() {
a = 0;
b = 0;
c = 0;
area = 0;
triangle = false;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
public double getArea() {
double s = (a+b+c) / 2.0;
area = Math.sqrt(s * (s-a) * (s-b) * (s-c));
return area;
}
public void setArea(double area) {
this.area = area;
}
public boolean isTriangle() {
boolean f = false;
if(a+b>c && a+c>b && b+c>a){
f = true;
}
return f;
}
}
encoding指定编译文件的字符编码集,-d参数指定字节码文件存放的位置
使用JavaBean
1.定义bean对象
语法:
<jsp:useBean id = "bean对象名称" class="bean的类名称" scope=“page”/>
scope:bean对象的作用范围
page:当前页面
2.存储属性
语法:
<jsp:setProperty name="triangle" property="a" value="3.0"/>
3.读取属性
语法:
<jsp:getProperty name="triangle" property="area"/>
<%@page language="java" contentType="text/html;charset=UTF-8"%>
<%@page import="bean.Triangle"%>
<html>
<head>
<title>triangle.jsp</title>
</head>
<body>
<%-- 生成类的实例 --%>
<jsp:useBean id = "triangle" class="bean.Triangle" scope="page"/>
<%-- 存储数据 --%>
<jsp:setProperty name="triangle" property="*"/>
您输入的三角形三边的长度分别是:<br/>
<%-- 读取bean中的数据 --%>
a:<jsp:getProperty name="triangle" property="a"/><br/>
b:<jsp:getProperty name="triangle" property="b"/><br/>
c:<jsp:getProperty name="triangle" property="c"/><br/>
能否构成三角形呢?<jsp:getProperty name="triangle" property="triangle"/><br/>
该三角形的面积是:<jsp:getProperty name="triangle" property="area"/>
</body>
</html>
程序运行结果:
注意
存储bean的属性,还有其它几种格式:
1. <jsp:setProperty name="bean实例名" property="bean属 性名" param="request参数名"/>
将客户端请求页面时提交的数据集中参数名对应的值存入bean 的属性名描述的属性中。
2. <jsp:setProperty name="bean实例名" property="*"/>
将客户端表单中同名参数的值赋给bean的同名属性,即由表单 元素的值填充bean属性。
3. <jsp:setProperty name="bean实例名" property="bean属 性名"/>
将客户端请求页面时提交的数据集中和bean属性名同名的参数 值付给bean属性名描述的属性。