`
小苏_呵呵
  • 浏览: 12859 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2 中典型CRUD Action的抽象基类.

阅读更多
/**
* Struts2中典型CRUD Action的抽象基类.
*
* 主要定义了对Preparable,ModelDriven接口的使用,以及CRUD函数和返回值的命名.
*
* @param <T> CRUDAction所管理的对象类型.
*
* @author calvin
*/
public abstract class CrudActionSupport<T> extends ActionSupport {

private static final long serialVersionUID = -1653204626115064950L;

/** 进行增删改操作后,以redirect方式重新打开action默认页的result名.*/
public static final String RELOAD = "reload";

protected Logger logger = LoggerFactory.getLogger(getClass());

/**
* Action函数, 默认的action函数, 默认调用list()函数.
*/
@Override
public String execute() throws Exception {
return list();
}

//-- CRUD Action函数 --//
/**
* Action函数,显示Entity列表界面.
* 建议return SUCCESS.
*/
public abstract String list() throws Exception;

/**
* Action函数,显示新增或修改Entity界面.
* 建议return INPUT.
*/
@Override
public abstract String input() throws Exception;

/**
* Action函数,新增或修改Entity.
* 建议return RELOAD.
*/
public abstract String save() throws Exception;

/**
* Action函数,删除Entity.
* 建议return RELOAD.
*/
public abstract String delete() throws Exception;

//-- Preparable函数 --//
/**
* 实现空的prepare()函数,屏蔽了所有Action函数都会执行的公共的二次绑定.
*/
public void prepare() throws Exception {
}

/**
* 定义在input()前执行二次绑定.
*/
public void prepareInput() throws Exception {
prepareModel();
}

/**
* 定义在save()前执行二次绑定.
*/
public void prepareSave() throws Exception {
prepareModel();
}

/**
* 等同于prepare()的内部函数,供prepardMethodName()函数调用.
*/
protected abstract void prepareModel() throws Exception;
}
分享到:
评论

相关推荐

    struts2项目实例

    这些Action类通常会继承自Struts2提供的抽象基类或实现特定接口,如`ActionSupport`,并覆盖其中的方法来执行业务逻辑。 接着,描述中的"简单增、删、改、查业务"涉及数据库操作。Struts2与持久层框架(如Hibernate...

    Struts项目

    Action类通过继承Struts2提供的抽象基类或实现特定接口(如`ActionSupport`),并定义相应的方法来处理请求。同时,Action类还可以利用依赖注入(DI)获取服务层的对象,进行业务处理。 5. 数据持久化: 博客系统...

    Struts2、Spring和Hibernate应用实例.doc

    - **AbstractAction类**:在Struts2中,Action类无需继承特定的类或实现特定的接口,但在实际开发中通常会继承`ActionSupport`类。建立一个抽象基类`AbstractAction`,并重写`execute()`方法,可以提高代码的复用性...

    Struts2、Spring和Hibernate应用实例

    在Struts2中,Action类不需要继承特定的基类,而是通过注解或配置文件定义行为。 Spring在本例中主要负责管理Action类和DAO(数据访问对象)的实例,通过依赖注入将数据库操作注入到Action中。这允许Action类专注于...

    Struts2+hibernate4+spring4整合

    在Struts2中,我们可以利用拦截器(Interceptor)机制来实现AOP(面向切面编程),进行如日志记录、权限验证等通用功能的处理。Struts2还支持OGNL(Object-Graph Navigation Language)表达式语言,用于在Action和...

    Spring4+hibernate4+struts2整合框架

    在"SSH框架的整合和优化"中,一个重要的优化点是在新建Dao时,我们只需要继承已有的抽象基类或接口,而无需重复编写大量相似的模板代码。这得益于Spring的AOP和Hibernate的Template模式。例如,Spring的...

    基于注解ssh的通用dao的crud

    2. 在Struts2 Action中定义CRUD操作并使用注解配置请求路径和结果页面。 3. 利用Hibernate注解定义实体类和关联关系,实现DAO接口并配置事务管理。 4. 创建继承自BaseDao的实体类DAO,完成CRUD的具体实现。 这种...

    虚拟数据层 Struts2、Hibernate、Spring整合的泛型DAO Version 2010.9.27

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

    spring+struts+hibernate实现分页

    Spring与Struts的集成通常通过Spring插件实现,该插件可以在Action的生命周期内初始化IoC容器,使得Action可以直接从ApplicationContext中获取到业务bean。例如,可以创建一个名为SpringAction的基类,所有具体的...

    Struts_Hibernate和Spring的轻型J2EE架构的研究.pdf

    Struts框架中的`ActionServlet`充当控制器的角色,而`Action`类则负责调用模型中的方法,更新模型状态,并帮助控制应用程序流程。 2. **业务逻辑层**:负责处理业务规则和逻辑。在这个层面上,Spring框架被广泛...

    ssh集成jpa和使用注解案例

    在Spring中,我们可以通过配置文件声明Struts2的Action类和Hibernate的SessionFactory,实现各组件间的依赖注入。 JPA是Java EE平台的一部分,它提供了一个规范来管理对象-关系映射(ORM)。相比于传统的Hibernate...

    源代码

    在Java Web开发中,如Struts框架中,Action类负责接收用户请求并调用相应的业务逻辑。文件上传功能通常涉及处理HTTP请求、解析上传数据、验证文件类型和大小,以及将文件保存到服务器。 `DBUtil.java`通常包含了...

    泛型dao 泛型dao 泛型dao

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

    ExtJS+SSH+Junit的Demo

    描述提到"包括BaseDaoImpl以及Junit测试时所用到的父类设计",这意味着项目中包含了一个基础DAO(Data Access Object)接口的实现,这是数据库操作的抽象层。BaseDaoImpl通常是所有DAO实现类的基类,提供了通用的...

    各种框架说明

    - **ActionSupport类**:提供了错误消息处理等功能的抽象基类。 - **数据传递方式**: - 定义全局变量并通过getter/setter访问。 - 使用`ActionContext`或`ServletActionContext`的方法。 - 实现特定接口如`...

Global site tag (gtag.js) - Google Analytics