Struts2 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);
	}
}

你可能感兴趣的:(struts2)