Nun wird das TreeControl innerhalb unserer Action instanziiert und mit den Anzeigedaten gefüllt. Das Datenmodell wird dem Kontrollelement über die setDataModel()-Methode zugeordnet. Die Methode nimmt als Argument ein Objekt vom Typ TreeGroupDataModel entgegen. Dabei handelt es sich um ein Interface welches den Zugriff auf die Anzeigedaten des Baumes bereitstellt. Es ist die Aufgabe des Anwendungsentwicklers eine entsprechende Implementierung zur Verfügung zu stellen.
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.TreeControl;
public class ProductTreeBrowseAction extends FWAction {
/**
* @see com.cc.framework.adapter.struts.FWAction#doExecute(ActionContext)
*/
public void doExecute(ActionContext ctx)
throws IOException, ServletException {
try {
// first we get the Data for our Tree
ProductGroupDsp data = DBProduct.fetch();
// secondly create the TreeControl and populate it
// with the Data to display
TreeControl products = new TreeControl();
products.setDataModel(data);
// third put the TreeControl into the Session-Object.
// Our Control is a statefull Object.
ctx.session().setAttribute("products", products);
}
catch (Throwable t) {
ctx.addGlobalError("Error: ", t);
}
// Display the Page with the Tree
ctx.forwardToInput();
}
}
zurück |
weiter zu Schritt 4
|