JSF commandbuton action & actionListener

JSF kullanımında form submit ederken sıkça kullandığımız action ve actionListener kullanımın ile ilgili küçük uygulamalar paylaşıyorum…

<h:commandButton value=”action” action=”#{testAction.button_action}”/>
bu kod managed beanimizdek methodu çağırıyoruz bean kodumuz:

public void button_action(){
System.out.println(“action cagirili…”);
}
Çıktı :
action cagirili…

peki actionListener:
<h:commandButton value=”action” actionListener=”#{testAction.button_actionListener}”/>
bu butonla çağırdığımız bean
public void button_actionListener(ActionEvent event){
System.out.println(“actionListener cagirili…”);
}
Çıktı :
actionListener cagirili…

peki fark ne? aşağıda da paylaştığım gibi action özelliği sadece bir method çağırırken actionListener ile bir methoda parametre de gönderebiliriz şöyleki;

<h:commandButton value=”action” actionListener=”#{testAction.button_actionListener}”>

<f:attribute name=”attribute_name” value=”parametre gonderildi”/>

</h:commandButton>

paramere gönderdiğimiz bean :
public void button_actionListener(ActionEvent event){

String parametre_1=(String) event.getComponent().getAttributes().get(“attribute_name”);
System.out.println(“AListener Cagirildi… parametre : ” + parametre_1);

}

çalıştırdığımızda ekran çıktısı:

AListener Cagirildi… parametre : parametre gönderildi

Kaynak kod :

web page kodu;

<h:form id=”form1″>

<h:commandButton value=”action” action=”#{testAction.button_action}”/>

<h:commandButton value=”action” actionListener=”#{testAction.button_actionListener}”>

<f:attribute name=”attribute_name” value=”parametre gonderildi”/>

</h:commandButton>

</h:form>

manage bean kodu

import javax.faces.event.ActionEvent;

/**

*

* @author tecelli

*/

public class TestAction {

public void button_action(){

System.out.println(“action cagirili…”);

}

public void button_actionListener(ActionEvent event){

String parametre_1=(String) event.getComponent().getAttributes().get(“attribute_name”);

System.out.println(“AListener Cagirildi… parametre : ” + parametre_1);

}

}

Kolay gelsin…

Written by 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.