package com.jshop.action; import java.io.UnsupportedEncodingException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.apache.struts2.json.annotations.JSON; import org.springframework.stereotype.Controller; import com.jshop.action.taobao.Tblogout; import com.jshop.action.tools.BaseTools; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; @ParentPackage("jshop") @Controller("logoutAction") public class LogoutAction extends ActionSupport implements ServletRequestAware, ServletResponseAware { private HttpServletRequest request; private HttpServletResponse response; private String redirecturl; private Tblogout tblogout; @JSON(serialize = false) public Tblogout getTblogout() { return tblogout; } public void setTblogout(Tblogout tblogout) { this.tblogout = tblogout; } public String getRedirecturl() { return redirecturl; } public void setRedirecturl(String redirecturl) { this.redirecturl = redirecturl; } public void setServletRequest(HttpServletRequest request) { this.request = request; } public void setServletResponse(HttpServletResponse response) { this.response = response; } // public String logout() throws Exception { // HttpSession session = request.getSession(false); // if (session != null) { // session.removeAttribute(BaseTools.BACK_USER_SESSION_KEY); // } // Cookie[] cookies = request.getCookies(); // if (cookies != null) { // for (Cookie cookie : cookies) { // if (AuthorityLogininterceptor.COOKIE_REMEMBER_KEY.equals(cookie.getName())) { // cookie.setValue(""); // cookie.setMaxAge(0); // response.addCookie(cookie); // return "login"; // } // } // } // return "login"; // } /** * 后台登出 */ @Action(value = "adminLogout", results = { @Result(name = "loginout", type="redirect",location = "${redirecturl}") }) public String adminLogout() throws UnsupportedEncodingException { String taobao_user_id = (String) ActionContext.getContext().getSession().get("taobao_user_id"); String adminid = (String) ActionContext.getContext().getSession().get(BaseTools.BACK_USER_SESSION_KEY); if (adminid != "" && taobao_user_id == "") { this.setRedirecturl(this.getTblogout().getlogoffURL()); } else { this.setRedirecturl("/jshop/admin/jump.jsp"); } ActionContext.getContext().getSession().remove(BaseTools.BACK_USER_SESSION_KEY); ActionContext.getContext().getSession().remove("taobao_user_id"); ActionContext.getContext().getSession().remove("taobao_user_nick"); return "loginout"; } }