#目的
h:commandButton、h:commandLinkにて複数のactionListenerを指定したい際の実装方法です。
#実装方法
TestListener.java
public void method1() {
System.out.println("method1");
}
public void method2() {
System.out.println("method2");
}
public void method3() {
System.out.println("method3");
}
public void method4() {
System.out.println("method4");
}
Test.xhtml
<h:commandButton value="test"
actionListener="#{testListener.method1()}"
action="#{testListener.method4()}">
<f:actionListener binding="#{testListener.method2()}"/>
<f:actionListener binding="#{testListener.method3()}"/>
</h:commandButton>
ボタンを押した結果はこんな感じになります。
14:06:04,219 INFO [stdout] (default task-1) method1
14:06:04,219 INFO [stdout] (default task-1) method2
14:06:04,219 INFO [stdout] (default task-1) method3
14:06:04,220 INFO [stdout] (default task-1) method4