加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

JavaBean中的Bound属性

(2012-07-13 11:44:41)
标签:

杂谈

分类: JSP类

JavaBean中的Bound属性

当一个Bound的属性的值发生了变化的时候,通知其他对象。

例子为Bound的属性发生变化,通知listen,最后又listen.jsp显示出来。

1.首先建立JavaBean,类文件名为Bound.java,代码如下:

package com.vote.bean;

import java.beans.*;
public class Bound {
 private String name;
 private PropertyChangeSupport support = new PropertyChangeSupport(this);
 public Bound(){
  
 }
 public void addPropertyChangeListener(PropertyChangeListener listener){
  if(support==null){
   support=new PropertyChangeSupport(this);
  }
  support.addPropertyChangeListener(listener);
 }
 public void removePropertyChangeListener(PropertyChangeListener listener){
  if(support==null){
   support=new PropertyChangeSupport(this);
  }
  support.removePropertyChangeListener(listener);
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  String tmp = this.name;
  this.name = name;
  support.firePropertyChange("name", tmp, name);
 }
 
}
2.监听者为Listen.java类,代码如下:

package com.vote.bean;
import java.beans.*;
public class Listen implements PropertyChangeListener{
 private String inform;

 public Listen() {
  inform="Bean中的属性值没有变化";
 }
 public void propertyChange(PropertyChangeEvent evt){
  inform="Bean中的属性值发生了变化";
 }
 public String getInform(){
  return inform;
 }
}
3.显示的页面为listen.jsp,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import ="com.vote.bean.Bound" %>
<%@ page import ="com.vote.bean.Listen" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>Bound属性测试</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">
 -->

  </head>
 
  <body><br>
    <%
    Bound bound=new Bound();
    Listen listen = new Listen();
    bound.setName("张三");
     %>
     <p>
     <b>name=<%=bound.getName() %></b>
     </p>
     <%
     bound.addPropertyChangeListener(listen);
     bound.setName("李四");
      %>
      <hr><%=listen.getInform() %>
      <hr>name=<%=bound.getName() %>
  </body>
</html>

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有