很好的一个BaseAction public class BaseAction extends ActionSupport{ private static final long serialVersionUID = 1L; /** * 每页显示记录数 * 默认值:15条 */ protected int pageSize = 8; /** * 获得HttpServletRequest对象 * @return HttpServletRequest */ protected HttpServletRequest getRequest(){ return ServletActionContext.getRequest(); } /** * 获得HttpServletResponse对象 * @return HttpServletResponse */ protected HttpServletResponse getResponse(){ return ServletActionContext.getResponse(); } /** * 获得HttpSession对象 * @param flag 如果当前session不存在是否重新创建session * @return HttpSession */ protected HttpSession getSession(boolean flag){ return this.getRequest().getSession(flag); } /** * 获得response输出对象 * @return PrintWriter * @throws IOException */ protected PrintWriter getOut() throws IOException { HttpServletResponse response = this.getResponse(); return response.getWriter(); } /** * 使用response输出流输出信息 * @return PrintWriter * @throws IOException */ protected void print(String info) throws IOException{ HttpServletResponse response = this.getResponse(); response.getWriter().print(info); } protected Enumeration<?> getParameterNames(){ return this.getRequest().getParameterNames(); } /** * 获取参数值(字符串) * @param parameterName 要获取参数的名称 * @return 参数的值 */ protected String getParameterForString(String parameterName){ return this.getRequest().getParameter(parameterName); } /** * 获取参数值(长整型) * @param parameterName 要获取参数的名称 * @return 参数的值 */ protected long getParameterForLong(String parameterName) throws NumberFormatException{ if (this.getRequest().getParameter(parameterName) == null || this.getRequest().getParameter(parameterName) == "") { return 0; } return Long.parseLong(this.getRequest().getParameter(parameterName)); } /** * 获取参数值(整型) * @param parameterName 要获取参数的名称 * @return 参数的值 */ protected int getParameterForInt(String parameterName) throws NumberFormatException{ if (this.getRequest().getParameter(parameterName) == null || this.getRequest().getParameter(parameterName) == "") { return 0; } return Integer.parseInt(this.getRequest().getParameter(parameterName)); } /** * 获取参数值(字符串数组) * @param parameterName 要获取参数的名称 * @return 参数的值 */ protected String[] getParameterValues(String parameterName) throws Exception{ return this.getRequest().getParameterValues(parameterName); } protected Map<?,?> getParameterMap() throws Exception{ return this.getRequest().getParameterMap(); } /** * 往request里面设置值 * @param key 要设置的关键字 * @param obj 要设置的值 */ protected void setAttribute(String key,Object obj){ this.getRequest().setAttribute(key, obj); } /** * 获得session的值 * @param <T> 泛型 * @param attrName * @param clazz * @return */ @SuppressWarnings("unchecked") protected <T>T getSessionAttr(String attrName,Class<T> clazz){ return (T)this.getSession(false).getAttribute(attrName); } /** * 往session里面设置值 * @param attrName 关键字 * @param obj 设置的值 */ protected void setSessionAttr(String attrName,Object obj){ this.getSession(false).setAttribute(attrName, obj); } }