package com.rbac.common;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class BaseForm extends ActionForm{
protected Object getBean(String beanName) {
return getApplicationContext().getBean(beanName);
}
private ApplicationContext getApplicationContext() {
return WebApplicationContextUtils
.getRequiredWebApplicationContext(getServlet()
.getServletContext());
}
/**
* 得到当前登录用户id
* @param request
* @return
*/
protected Long getCurrentAccountId(HttpServletRequest request){
UserDetail userDetail = this.getCurrentUserDetail(request);
if(userDetail!=null && userDetail.getAccount()!=null){
return userDetail.getAccount().getId();
}
return null;
}
/**
* 得到当前登录用户信息
* 可以使用 ThreadLocal 管理用户session
* 参考http://blog.csdn.net/nan_jiang_/article/details/5055221
* @param request
* @return
*/
protected UserDetail getCurrentUserDetail(HttpServletRequest request){
UserDetail userDetail = (UserDetail)request.getSession(true).getAttribute(MvcConstant.USER);
if(userDetail!=null){
return userDetail;
}
return null;
}
}