Java Bean应用举例
Java Bean是一个普通的Java类。Java Bean行为包括useBean行为、setProperty行为和getProperty行为。
useBean行为的格式为:<jsp:useBean id="beanId" class="className" scope="Value"/>
其中,id是Java Bean对象的名称,jsp中可以使用该名称引用该Java Bean 对象。
class是Java Bean类的全名。
scope的取值范围为:page、request、session、application.表示该javaBean对象的范围,当为page时,只在jsp内有效;
当为request时,只在当前request内有效;当为session时,对当前用户有效;当为application时,对当前Web应用程序有效。
默认为page.
定义了javaBean以后可以通过getProperty来获得javaBean属性,或者通过setProperty设置javaBean属性。
getProperty的格式为:<jsp:getProperty name="beanName" property="propertyName"/>
setProperty的格式为:<jsp:setProperty name="beanName" property="propertyName" value=""/>
其中,name为useBean里面定义的javaBean的名称,property为javaBean属性,value为属性值。
下面举一个例子说明:用jsp页面来获得html页面提交的参数。
提交页面:
<html>
<head>
<title>请填写person信息</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"></head>
<body>
<div align="center">
<form action="demo.jsp" method="post">
姓名:<input type="text" name="name"/><br/>
性别:<input type="radio" name="sex" value="man"/>男
<input type="radio" name="sex" value="woman"/>女<br/>
<input type="submit" value="提交"/>
</form>
</div>
</body>
</html>
提交之后由demo.jsp处理,在demo.jsp中由javaBean封装提交的参数。
处理页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>useBean</title></head>
<body>
<%--声明Person类对象person-->
<jsp:useBean id="person" class="com.bean.Demo" scope="page"/>
<%--设置person的所有属性,属性从request中自动获取,"*"表示所有属性->
<jsp:setProperty name="demm" property="*"/>
<%--获取person的name属性,这里,在javaBean中,必须实现获得name属性的方法,方法名必须为getName(),即name的第一个字母大写。sex属性同上--%>
姓名:<jsp:getProperty property="name" name="person"/>
性别:<jsp:getProperty property="sex" name="person"/>
</body>
</html>
javaBean的实现
package com.bean;
public class Demo{
private String name;
private String sex;
public String getName()
{
return this.name;
}
public String getSex()
{
return this.sex;
}
public void setName(String name)
{
this.name=name;
}
public void setSex(String sex)
{
this.sex=sex;
}
}
此类用来封装request提交的参数。

浙公网安备 33010602011771号