package cn.jeesoft.mvc.action; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.transaction.interceptor.TransactionAspectSupport; import cn.jeesoft.core.model.BaseBean; import cn.jeesoft.core.model.PagerModel; import cn.jeesoft.core.utils.ResponseUtils; import cn.jeesoft.mvc.bean.Users; import cn.jeesoft.mvc.helper.LoginUserHolder; import cn.jeesoft.mvc.helper.RequestHolder; import cn.jeesoft.mvc.services.BaseService; /** * Action基类 * @author king * @param <M> */ public abstract class BaseAction<M extends BaseBean, P extends PagerModel<M, ?>> extends ResponseUtils { public static final String Redirect = "redirect:"; public abstract BaseService<M> getService(); /** * 事务回滚 */ public static boolean setTransactionRollback() { try { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return true; } catch (Exception e) { return false; } } /** * 获取登陆用户ID * @return */ public static Integer getLoginUserId() { Users users = LoginUserHolder.getLoginUser(); if (users == null) { return null; } return users.getId(); } /* * getRequest() */ public static HttpServletRequest getRequest() { return RequestHolder.getRequest(); } public static String getParameter(String name) { return getRequest().getParameter(name); } @SuppressWarnings("rawtypes") public static Map getParameterMap() { return getRequest().getParameterMap(); } public static String[] getParameterValues(String name) { return getRequest().getParameterValues(name); } @SuppressWarnings("rawtypes") public static Enumeration getParameterNames() { return getRequest().getParameterNames(); } public static List<String> getParameterNameLists() { List<String> nameList = new ArrayList<String>(); @SuppressWarnings("rawtypes") Enumeration names = getParameterNames(); while (names.hasMoreElements()) { nameList.add(String.valueOf(names.nextElement())); } return nameList; } /* * getSession() */ public static HttpSession getSession() { return RequestHolder.getSession(); } }