`
yf86810_163_com
  • 浏览: 86932 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Struts2 BaseAction

    博客分类:
  • JAVA
 
阅读更多
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);
	}
}
分享到:
评论

相关推荐

    BaseAction

    在Struts2中,操作Servlet API 的BaseAction 包括获取Request对象、获取Session对象、获取ServletContext对象、获取Response对象

    jQuery EasyUI与Struts2的整合—属性驱动篇

    jQuery EasyUI与Struts2 的整合—属性驱动篇 如果你是用模型驱动,或者是直接把属性写在action里面,你不会碰到我遇到的那么多问题。 但是你用模型驱动好吗,如果一个页面需要处理多个对象的时候怎么办。 如果你...

    ssh:struts-2.5+spring4+hibernate5

    简单的ssh项目,泛型BaseAction配置,简单注解配置,applicationContext.xml配置,jar包地址 链接:https://pan.baidu.com/s/14NkywuhG6mESyhE1VMkhOQ 密码:en19

    struts1.2,spring2,hibernate3整合实例代码

    代码清晰,分层清楚,jstl页面多层循环,BaseAction整合业务层。myeclipse开发,包含包图片,没有具体包。注意解决包冲突。

    一套适合初学者的JAVA-WEB开发的小项目

    2.SSH_CRM是一个简单的spring+struts2+Hibernate整合项目 是一个crm人员关系管理系统。 管理员登陆系统可以对录入系统内的人员进行增删查改。 是一个练习ssh框架整合的入门项目,同时可以对熟悉的hibernate进行增...

    web资源 完本

    包含WEB开发的Servlet,Struts2等开发所需的构架文件,底层的BaseAction,JDBC等底层封装

    Struts中等同于DispatchAction类方法

    在页面中用js传递执行方法参数,传递到后台执行, 在你用的Action类中的方法名前加“run“及可被调用。

    初学JAVA-WEB开发的小项目

    2.SSH_CRM 是一个简单的spring+struts2+Hibernate整合项目 是一个crm人员关系管理系统。 管理员登陆系统可以对录入系统内的人员进行增删查改。 是一个练习ssh框架整合的入门项目,同时可以熟悉hibernate进行增删...

    SSH框架整合

    struts2、hibernate3、spring2.5整合,数据库为mysql 1:采用注解方式交给spring容器管理、采用通配符配置action 2:通过基础类和接口BaseDao、BaseDaoImpl、BaseAction类降低代码重用 3:单元测试通过(测试时新建...

    基于JAVA SMART系统-系统框架设计与开发(源代码+论文).zip

    因此,在对本系统进行架构设计的时候,考虑建立一个抽象的BaseAction类,该类继承LookupDispatchAction,实现LookupDispatchAction类中的getKeyMethodMap方法,在方法中返回本系统中请求参数值与资源文件中参数值的...

    教务管理系统(概要设计及详细设计).doc

    本系统的体系架构如图1-2所示: 图1-2 系统体系架构 本系统体系结构大致可以定义为:客户机层上的表示层主要是通过Struts框架实现的 ,由显示视图产生一个请求。 请求被ActionServlet(控制器)接收,它在struts- ...

    Java通用代码生成实用程序XDoclet(源码包)

    public class CarriageBidQueryAction extends BaseAction { protected ActionForward execute(BActionContext context) throws Exception { System.out.println("------- CarriageBidQueryAction execute...

    java命名规范 开发规范

    b. 配置struts-moduleName.xml; 直接跳转示例; 调用Service示例; c. 开发对应的{EntityName}Action类; 该类必须继承com.hikvision.swdf.xx.BaseAction&lt;{EntityName}&gt;,该Action类有一个关键属性entity,即泛型...

    设备管理 java对日项目 SSH框架

    import org.apache.struts.actions.DispatchAction; import com.sys.four.dao.service.FdcNoService; import com.sys.four.dao.service.FdiTorihikisakiService; import com.sys.four.dao.service.FdlCodeSevice; ...

    halloworld

    ..........\...\..\..\......\BaseAction.java ..........\...\..\..\dao\XiangmubiaoDAO.java ..........\...\..\..\persist\Xiangmubiao.hbm.xml ..........\...\..\..\.......\Xiangmubiao.java ..........\...

Global site tag (gtag.js) - Google Analytics