Da unser TabSetControl clientseitig, d.h ohne Server Roundtrips, zwischen den Taben umschalten soll,
müssen zu Begin alle Daten geladen werden. Zur Übergabe an die JSP-Seite verwenden wir dabei eine
Formbean. Sie dient bietet den verschiedenen Taben den Zugriff auf die Anzeigedaten.
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.adapter.struts.FormActionContext;
import com.cc.sampleapp.common.Messages;
import com.cc.sampleapp.common.User;
import com.cc.sampleapp.tabset.sample402.form.UserProfileEditForm;
public class UserProfileEditAction extends FWAction {
/**
* @see com.cc.framework.adapter.struts.FWAction#doExecute(ActionContext)
*/
public void doExecute(ActionContext ctx)
throws IOException, ServletException {
try {
// Generate a Default User for our Example
User user = new User("FAS");
user.load();
initFormBean(ctx, user);
}
catch (Throwable t) {
ctx.addGlobalError("Error while loading User Object", t);
log.error("Error: ", t);
}
// Display the JSP
ctx.forwardToInput();
}
/**
* Initializ the Form with the User-Data
* @param ctx ActionContext
* @param user User-Object
* @exception java.lang.Exception
*/
private void initFormBean(ActionContext ctx, User user)
throws Exception {
UserProfileEditForm form = (UserProfileEditForm) ctx.form();
form.setUserId( user.getUserId());
form.setFirstName( user.getFirstName() );
form.setLastName( user.getLastName() );
form.setRole( user.getRole() );
form.setGuitype( user.getSettings().getGuitype() );
form.setDefprinter( user.getSettings().getDefprinter() );
}
}
zurück | weiter zu Schritt 4
|