把属性值改变事件发送给其他bean

生成属性值改变事件的bean
 目的 代码

 初始设置(JComponent中已经存在)

 private PropertyChangeSupport pcs = new PropertyChangeSupport (this);

public void addPropertyChangeListener(PropertyChangeListener p){ pcs.addPropertyChangeListener(p);}

public void removePropertyChangeListener(PropertyChangeListener p){ pcs.removePropertyChangeListener(p);}

 发送带有原始值及新改变的值的事件(这是具有邦定属性的javabean所需要的)

 Double oldVal = new Double(prevNum);

Double newVal = new Double(num);

pcs.firePropertyChange("num",oldVal,newVal);

需要监听属性改变事件的bean
 目的 代码
 初始设置

 class.... implements java.beans.PropertyChangeListener

.....

//this is hooked up at design time by bean box

//someOtherBean.addPropertyChangeListener(this);

 每当属性值发生改变时都要调用时间处理代码 void propertyChange(PropertyChangeEvent e){...........}

首先,在 Spring 的配置文件中,需要将一个 Bean 对象注入到 Controller 中。这个对象包含一个状态和一个方法用于改变状态。 例如: ```xml <!-- 配置状态对象 --> <bean id="status" class="com.example.Status"> <property name="value" value="false"/> </bean> <!-- 配置 Controller --> <bean id="controller" class="com.example.Controller"> <property name="status" ref="status"/> </bean> ``` 其中 `Status` 类包含一个 `value` 属性和一个 `setValue(boolean value)` 方法,用于获取和设置状态。 然后,在 Controller 中,需要将状态对象注入进来,并且定义一个处理按钮点击事件的方法。 例如: ```java public class Controller { private Status status; public void setStatus(Status status) { this.status = status; } public void clickButton() { // 改变状态 boolean value = this.status.getValue(); this.status.setValue(!value); } } ``` 最后,在 JSP 页面中,需要定义一个按钮,并且绑定一个 JavaScript 函数来触发按钮点击事件。 例如: ```html <button onclick="clickButton()">点击改变状态</button> <script> function clickButton() { // 发送 AJAX 请求,触发 Controller 中的 clickButton 方法 $.ajax({ url: '/clickButton', type: 'POST', success: function () { // 改变按钮状态 var value = $('#button').prop('value'); $('#button').prop('value', !value); } }); } </script> ``` 在 JavaScript 函数中,使用 jQuery 发送 AJAX 请求,触发 Controller 中的 `clickButton` 方法。成功后,改变按钮状态即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值