Queue an action event or invoking the button action in programmatic way

Sometimes our requirement is to invoke the button’s action in programmatic way without needing a user to click a button,. For example we want navigation happening automatically without clicking the button by user i.e implementing navigation in programmatic way using Java.We can queue an action event . In this case the developer may drag and drop a button in the page and binds its action property to some static action outcome or to a method that returns a String, and set Visible property for the button to false. At some point the developer can invoke this button’s action by using this code.


FacesContext facesContext = FacesContext.getCurrentInstance();

UIViewRoot root = facesContext.getViewRoot();   

//cb1 is the fully qualified name of the button

RichCommandButton button = (RichCommandButton) root.findComponent(“cb1″); // cb1 will be id of invisible button

ActionEvent actionEvent = new ActionEvent(button);

actionEvent.queue();        // we are queuing the all action programmaticly

an another code snippet which will work in this scenario

UIComponent component = null;

FacesContext facesContext = FacesContext.getCurrentInstance();

if (facesContext != null) {

  UIComponent root = facesContext.getViewRoot();

  component = findComponent(root, "button_id");  // button_id will be id of invisible button

}

 

RichCommandButton button = (RichCommandButton)component;

ActionEvent actionEvent = new ActionEvent(button);

actionEvent.queue();   // we are queuing the all action programmaticly

出处:http://www.techartifact.com/blogs/2012/09/queue-an-action-event-or-invoking-the-button-action-in-programmatic-way-techartifact.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值