Nun wird das ListControl innerhalb der UserBrowseAction instaziiert und mit den anzuzeigenden
Daten gefüllt. Dazu wird über die setDataModel()-Methode dem Kontrollelement sein Datenmodell zugeordnet.
Die Methode setDataModel() nimmt als Argument dabei ein ListDataModel entgegen. Hierbei handelt es sich
um ein einfaches Interface, das von der Klasse UserDisplayList, welche die Anzeigedaten bereitstellt,
implementiert wird.
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.SimpleListControl;
import com.cc.sampleapp.common.Messages;
import com.cc.sampleapp.presentation.dsp.UserDisplayList;
public class UserBrowseAction extends FWAction {
/**
* @see com.cc.framework.adapter.struts.FWAction#doExecute(ActionContext)
*/
public void doExecute(ActionContext ctx)
throws IOException, ServletException {
try {
// Get the Displaydata for our List
UserDisplayList dspData = DBUser.fetch();
// Create the ListControl and populate it.
// with the Data to be displayed
SimpleListControl userList = new SimpleListControl();
userList.setDataModel(dspData);
// Put the ListControl into the Session-Object.
// Our ListControl is a statefull Object.
ctx.session().setAttribute("users", userList);
}
catch (Throwable t) {
ctx. AddGlobalError(Messages.ERROR, t);
}
// Display the Page with the UserList
ctx.forwardToInput();
}
}
zurück |
weiter zu Schritt 4
|