Zum Befüllen unseres Formulares dient uns eine FormBean, das UserEditForm, welches direkt von org.apache.struts.action.ActionForm abgeleitet werden kann. Die FormBean wird in unserem Beispiel vereinfacht mit unserem UserObjekt initalisiert, das zuvor die Daten zu dem im Request übergebenen Schlüssel aus einer Datenbank geladen hat.
import java.io.IOException;
import javax.servlet.ServletException;
import com.cc.framework.adapter.struts.ActionContext;
import com.cc.framework.adapter.struts.FWAction;
public class UserEditAction extends FWAction {
/**
* @see com.cc.framework.adapter.struts.FWAction#doExecute(ActionContext)
*/
public void doExecute(ActionContext ctx)
throws IOException, ServletException {
String userId = ctx.request().getParameter("userid");
try {
// Load the User
User user = new User(userId);
user.load();
// Initialise the Form with the User-Data
UserEditForm form = (UserEditForm) ctx.form();
form.setUser(user);
// In our Example we store the UserObject
// in our Session
ctx.session().setAttribute("userobj", user);
}
catch (Throwable t) {
ctx.addGlobalError("Error: ", t);
ctx.forwardByName(Forwards.BACK);
}
// Call the JSP-Page with the Form
ctx.forwardToInput();
}
}
zurück |
weiter zu Schritt 4
|