Home Jsf Jsftraining Action Event Listener

Related Tutorials


 
 

Share on Google+Share on Google+

Action Event Listener

Advertisement
Action Listeners can be implemented in 2 ways. If you use the first one then it will limit you to use only one listener for the component but second way permits you to include more than one event listeners.

Action Event Listener

        

Action Listeners can be implemented in 2 ways. If you use the first one then it will limit you to use only one listener for the component but second way permits you to include more than one event listeners.

1. Using "actionListener" attribute of the component tag

<h:commandButton id="cb1" value="#{ActionBean.buttonText}" immediate="true" actionListener="#{ActionBean.processMyAction}"/>

Sample Code for processMyAction method in "ActionBean":

/*Action listener method*/

public void processMyAction(ActionEvent event){

   disable = !disable;
   System.out.println("disable: "+ disable);

   if(buttonText.equals("Disable")){
   buttonText = "Enable"; 
   System.out.println("buttonText: "+ buttonText);
   }
   else{
   buttonText = "Disable";
   System.out.println("buttonText: "+ buttonText);
   }
}

 

2. Using <f:actionListener /> tag

The ActionListener interface must be implemented to capture an ActionEvent. This interface provides processAction() method which is called when the ActionEvent for which the ActionListener is registered occurs. So processAction() method should be implemented for the action event listeners.

processAction method signature:

public void processAction(ActionEvent event) throws AbortProcessingException

For Example:(In JSP)

<h:commandLink id="France" immediate="true" value="Set Locale(France)">
  <f:actionListener type="roseindia.MyActionBean" />
</h:commandLink>

The code for MyActionBean.java:

package roseindia;

import java.util.*;
import javax.faces.event.*;
import javax.faces.context.FacesContext;

public class MyActionBean extends Object implements ActionListener {

   public void processAction(ActionEvent event) throws AbortProcessingException
   Map locales = null;
   locales = new HashMap();
   locales.put("America", new Locale("en", "US")); 
   locales.put("France", new Locale("fr", "FR"));

   String current = event.getComponent().getId();
   FacesContext context = FacesContext.getCurrentInstance();
   context.getViewRoot().setLocale((Locale) locales.get(current));
   }
}

Download code for all examples

Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: December 30, 2008

Related Tutorials

Discuss: Action Event Listener  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0
DMCA.com