是否可以注册一个全局actionlistener,它将侦听页面上触发的所有操作事件?
如果是这样,那就意味着我不需要在每个动作组件上注册相同的(默认)动作列表。
答案 0 :(得分:0)
有两种方法可以做到:
使用actionListener
参数:
<h:commandButton id="test1" value="Test 1" actionListener="#{bean.action}" />
<h:commandButton id="test2" value="Test 2" actionListener="#{bean.action}" />
public void action(ActionEvent event)
{
System.out.println(event.getComponent().getClientId());
}
使用普通参数:
<h:commandButton id="test1" value="Test 1" actionListener="#{bean.action('test1')}" />
<h:commandButton id="test2" value="Test 2" actionListener="#{bean.action('test1')}" />
public void action(String sender)
{
System.out.println(sender);
}