Products
About Guided Tour Online Demo Download Trial Version Requirements
Resources
Dokumente Konfigurationsbeispiele TagLib-Referenz Useful Links
Customer Support
Updates Foren Contact Services
Sales
Licensing Sales FAQ Buy Online
 
 
 
buy online   |   about us   |   english version  

» Exkurs: Implementierung von Callback-Methoden

Das TreeListControl generiert bei einem Klick auf ein Label automatisch ein onDrilldown-Event auf das der Programmierer innerhalb der Action-Klasse reagieren kann.

Um in unserem Beispiel auf dieses Ereignis zu reagieren, nehmen wir eine entsprechende Callback-Methode in der RegionBrowseAction auf. Da wir die Businesslogik nicht an dieser Stelle implementieren möchten, leiten wir das Ereignis an eine andere Action - RegionDisplayAction - weiter.

import java.io.IOException;
import javax.servlet.ServletException;

import com.cc.framework.adapter.struts.ActionContext;
import com.cc.framework.adapter.struts.FWAction;
import com.cc.framework.ui.control.TreeListControl;

public class RegionBrowseAction extends FWAction {

    /**
     * @see com.cc.framework.adapter.struts.FWAction#doExecute(ActionContext)
     */
    public void doExecute(ActionContext ctx)
        throws IOException, ServletException {

            try {
                RegionGroupDsp dspData = DBRegion.fetchDspOutline();

                TreelistControl regionList = new TreelistControl();
                regionList.setDataModel(dspData);

                ctx.session().setAttribute("regions", regionList);
            }

        catch (Throwable t) {
            ctx.addGlobalError("Error: ", t);
        }

        // Display the Page with the TreeList
        ctx.forwardToInput();
    }

    // ------------------------------------------------
    //          TreeList-Control Event Handler
    // ------------------------------------------------


    /**
     * This Method is called when the TreeLabel is clicked
     * In our Example we switch to the DetailView, which shows
     * more Information about the node.
     * @param   ctx ControlActionContext
     * @param   key     UniqueKey, as created in the Datamodel
     */
    public void regions_onDrilldown(ControlActionContext ctx, String key) {
        ctx.forwardByName(Forwards.DRILLDOWN, key);
    }

}

Der Name der CallBack-Methode setzt sich dabei aus dem Property-Namen des TreeListControls - dem Namen der Bean - und dem eingetretenen Event zusammen. Da das TreeListControl unter dem Namen "region" in der Session abgelegt wurde, lautet der Name der CallBack-Methode regions_onDrilldown.

zurück

Impressum | This product includes software developed by the Java Apache Project
Tours
ListControl TreeControl TreeListControl TabSetControl Formelemente MenuControl Druckversion Live Demo Konfiguration