public org.apache.struts.action.ActionForward | execute(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
request.getSession().removeAttribute("workingAccountForm");
request.getSession().removeAttribute("accountForm");
if (request.getParameter("signoff") != null) {
request.getSession().invalidate();
return mapping.findForward("success");
}
else {
AccountActionForm acctForm = (AccountActionForm) form;
String username = acctForm.getUsername();
String password = acctForm.getPassword();
Account account = getPetStore().getAccount(username, password);
if (account == null) {
request.setAttribute("message", "Invalid username or password. Signon failed.");
return mapping.findForward("failure");
}
else {
String forwardAction = acctForm.getForwardAction();
acctForm = new AccountActionForm();
acctForm.setForwardAction(forwardAction);
acctForm.setAccount(account);
acctForm.getAccount().setPassword(null);
PagedListHolder myList = new PagedListHolder(getPetStore().getProductListByCategory(account.getFavouriteCategoryId()));
myList.setPageSize(4);
acctForm.setMyList(myList);
request.getSession().setAttribute("accountForm", acctForm);
if (acctForm.getForwardAction() == null || acctForm.getForwardAction().length() < 1) {
return mapping.findForward("success");
}
else {
response.sendRedirect(acctForm.getForwardAction());
return null;
}
}
}
|