📄 signonaction.java
字号:
package org.digitstore.web.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.digitstore.domain.Account;
import org.digitstore.web.struts.form.AccountActionForm;
import org.digitstore.service.*;
import org.springframework.beans.support.PagedListHolder;
public class SignonAction extends BaseAction {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.getSession().removeAttribute("workingAccountForm");
request.getSession().removeAttribute("accountForm");
if (request.getParameter("signoff") != null) {
request.getSession().invalidate();
return mapping.findForward("success");
} else {
AccountManager accManager = ManagerFactory.createAccountManager();
ProductManager proManager = ManagerFactory.createProductManager();
AccountActionForm acctForm = (AccountActionForm) form;
String username = acctForm.getUsername();
String password = acctForm.getPassword();
Account account = accManager.getAccount(username);
if (account == null || !account.getPassword().equals(password)) {
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(proManager
.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;
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -