Resetting and clearing form fields while cancelling an ADF popup

本文介绍如何清除ADF应用中弹窗内的输入字段值。通过设置弹窗的contentDelivery属性为'lazyUncached',使用ResetActionListener组件,或者利用内部API的方法来实现。这些方法确保当用户点击取消按钮关闭弹窗时,输入的数据不会被保留。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Suppose the popup has input form fields to enter data with say OK and Cancel buttons, and when the user enters data and clicks on 'Cancel' button, we need to close the popup and reset all values entered in the popup's fields. If you don't reset the values, if you invoke the same popup again, it'll show the same previously entered values in the form which is unwanted.

1. Set popup's 'contentDelivery' property to 'lazyUncached'. Setting this property won't cache the data entered and won't restore the previously entered values. This is highly recommended to set contentDelivery="lazyUncached" for better performance as the popup will be loaded only on invocation but not at the time of page loading.

[html]  view plain copy
  1. <af:popup id="popup1"  
  2.                   contentDelivery="lazyUncached">  

 2. If the step1 doesn't work, drop af:resetActionListener as a sub-element to 'Cancel' button in the popup. ResetActionListener will reset the form fields in the popup.
We can also call ResetActionListener programmatically in an actionlistener method as follows using javax public API.

[java]  view plain copy
  1. public void saveSections(ActionEvent actionEvent) {  
  2.         UIComponent comp = actionEvent.getComponent();  
  3.         oracle.adf.view.rich.util.ResetUtils.reset(comp);  
  4.     }  
3. If the step 3 doesn't work (the public API is not available in your Jdeveloper version), you have to use ADF internal API enven if it's discouraged. 

[java]  view plain copy
  1. public void saveSections(ActionEvent actionEvent) {  
  2.         ResetActionListener ral = new ResetActionListener();  
  3.         ral.processAction(actionEvent);  
  4. 转自:http://blog.csdn.net/ygj26/article/details/8636893
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值