`

BaseAction基类

阅读更多

在项目当中基类也是必不可少的,定义一个基类,然后它继承你要的那种Action.

并且在基类当中定义一些常用需要的方法,

然后我们只要继承这个基类就可以了.(积累就相当于我们的Action了,我们继承它就可以了)

java 代码
  1. package org.langsin.computer.web.core;   
  2.   
  3. import java.lang.reflect.InvocationTargetException;   
  4.   
  5. import javax.servlet.http.HttpServletRequest;   
  6. import javax.servlet.http.HttpSession;   
  7.   
  8. import org.apache.commons.beanutils.BeanUtils;   
  9. import org.apache.struts.action.ActionForm;   
  10. import org.apache.struts.actions.DispatchAction;   
  11.   
  12. public class BaseAction extends DispatchAction {   
  13.     /**  
  14.      * 将Form里的属性值,通过Java的反射机制全部复制到对象中  
  15.      *   
  16.      * @param form  
  17.      * @param obj  
  18.      */  
  19.     protected void bindEntity(ActionForm form, Object obj) {   
  20.         if (form != null) {   
  21.             try {   
  22.                 BeanUtils.copyProperties(obj, form);   
  23.             } catch (IllegalAccessException e) {   
  24.                 // TODO Auto-generated catch block   
  25.                 e.printStackTrace();   
  26.             } catch (InvocationTargetException e) {   
  27.                 // TODO Auto-generated catch block   
  28.                 e.printStackTrace();   
  29.             }   
  30.         }   
  31.   
  32.     }   
  33.   
  34.     /**  
  35.      * 将对象里的属性值,通过Java的反射机制全部复制到Form中  
  36.      *   
  37.      * @param form  
  38.      * @param obj  
  39.      */  
  40.     protected void bindForm(ActionForm form, Object obj) {   
  41.         if (obj != null) {   
  42.             try {   
  43.                 BeanUtils.copyProperties(form, obj);   
  44.             } catch (IllegalAccessException e) {   
  45.                 // TODO Auto-generated catch block   
  46.                 e.printStackTrace();   
  47.             } catch (InvocationTargetException e) {   
  48.                 // TODO Auto-generated catch block   
  49.                 e.printStackTrace();   
  50.             }   
  51.         }   
  52.     }   
  53.     protected Object getSessionObject(HttpServletRequest request,String sessionName){   
  54.         Object objSession=null;   
  55.         HttpSession session=request.getSession(false);   
  56.         if(session!=null){   
  57.             objSession=session.getAttribute(sessionName);   
  58.         }   
  59.         return objSession;   
  60.     }   
  61.     protected SessionContainer getSessionContainer(HttpServletRequest request){   
  62.         SessionContainer sessionContainer=(SessionContainer)this.getSessionObject(request, "SessionContainer");   
  63.         if(sessionContainer==null){   
  64.              sessionContainer=new SessionContainer();   
  65.              sessionContainer.setLocale(request.getLocale());   
  66.              HttpSession session=request.getSession(true);   
  67.              session.setAttribute("SessionContainer", sessionContainer);   
  68.         }   
  69.         return sessionContainer;   
  70.     }   
  71.   
  72. }   
分享到:
评论

相关推荐

    BaseAction的小测试代码

    本测试代码主要关注`BaseAction`,一个常见的Action基类,它为其他具体的业务Action提供了一些基础功能和通用逻辑。`BaseAction`通常会包含错误处理、日志记录、请求参数验证等常见操作,以此提高代码的可重用性和可...

    BaseAction.rar_Java编程_Java_

    在Java编程领域,"BaseAction"常常被用作一个基类或者抽象类,为其他类提供通用的功能和行为。在给定的`BaseAction.rar`压缩包中,包含了一个名为`BaseAction.java`的源代码文件,这通常意味着这个文件定义了一个名...

    AOP下的权限控制实现

    2. 基础服务类:创建一个基类,如BaseServlet或BaseAction,所有需要权限控制的服务或控制器都继承自这个基类。在基类中实现权限检查逻辑,这样每个继承类无需重复实现这部分代码。这种方式增加了代码的复用,但可能...

    ssh框架书写合理顺序及规范

    - 继承自基类`BaseAction<Role>`,其中`Role`为业务对象(BO)。 - 编写方法,如`list()`,并添加注释,声明返回视图名称。 - 在基类`BaseAction`中,使用`@Resource`注解注入Service层接口`IRoleService`。 2. ...

    jsp中Action使用session方法实例分析.docx

    为了减少重复代码并提高可维护性,可以在项目中创建一个基类 `BaseAction`,让它实现 `SessionAware` 接口。所有需要使用 Session 的 Action 类都继承自这个基类即可。例如: ```java public abstract class ...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_表单校验失败跳input视图问题共13页.pptx

    - 创建一个公共基类`BaseAction`继承自`ActionSupport`。 - 在基类中实现必要的接口,并封装常用的操作。 - 示例代码: ```java public class BaseAction extends ActionSupport implements ...

    java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list错误解决办法

    开发者创建了一个基类`BaseAction`,该类实现了Spring的`ModelDriven`接口,并且被声明为`@Component`,以便于Spring管理。同时,`BaseAction`还使用了`@Transactional`注解,表明其方法应具有数据库事务控制。 ...

    SHH 框架 继承 说明 案例

    例如,你可能有一个BaseAction类,其中包含了通用的验证和授权方法,然后所有的具体业务Action类都可继承自这个BaseAction,从而继承这些功能。 案例分析:文件"SHH框架继承 - 魏泽腾.doc"很可能提供了关于如何在...

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

    在描述中提到的`BaseAction`整合业务层,意味着这个例子中可能有一个基类Action,用于封装共通的业务逻辑,子Action继承自这个基类,实现了特定的功能。 Spring2则是作为一个全面的轻量级容器,它负责管理对象的...

    天下陶网络商城.zip

    6. **BaseAction类**:`BaseAction`可能是所有Action类的基类,它可能包含了一些通用的方法,如事务管理、日志记录等,以减少代码重复。 7. **StartExam类和QuestionsForm类**:`StartExam`可能是考试功能的实现,...

    SSH框架整合配置过程

    然后,为了提高代码复用性和模块化,作者创建了一个名为`BaseAction`的类,放在`com.address.struts.action`包中。这个类可以作为其他Action类的基类,封装了一些通用的功能,如对HTTP请求和session的操作。这样做...

    快速开发后台框架

    开发者可以继承这个基类,创建自己的控制器,从而减少重复代码,提高代码复用性。 其次,`Form.class.php` 文件可能表示一个表单处理类。在后台开发中,表单处理是非常常见的一环,包括接收用户输入、验证数据、...

    Struts2.0+hibernate+spring紧急发布2.0代码生成器

    在Struts2中,`BaseAction.java`通常是一个基类,包含共有的方法,如数据校验、权限控制等,子类Action继承自这个基类,实现具体的业务逻辑。 Hibernate则是一个对象关系映射(ORM)框架,它简化了数据库操作。在...

    S2SH配置部署日志切面拦截器

    而BaseAction则可能作为Struts2 Action的基类,包含共有的请求处理逻辑。 "EventLogInterceptor.java"是我们的关键组件,这是一个实现了Struts2拦截器接口的类。拦截器在Action执行前后插入代码,可以用来实现日志...

    <<项目架构那点儿事>>——浅析web层struts2的构建

    开发者可以继承这个基类,减少代码重复,提高代码复用性。BaseAction中的方法会处理来自用户请求的动作,并返回相应的结果。 其次,`JsonUtil.java`是用于处理JSON数据的工具类。Struts2支持多种结果类型,JSON是一...

    ssh整合

    1. **建立公共函数类**:在`com.address.struts.action`包中创建了一个名为`BaseAction`的基类,用来提取并封装一些通用方法,如Session和Request的处理。这样可以减少代码重复,提高代码复用率,同时使Action类更...

    web资源 完本

    在Web应用的底层,BaseAction通常是一个基类,包含了通用的方法和属性,为其他Action提供继承和复用的基础。这可能包括错误处理、请求参数解析、会话管理等功能。这样做可以保持代码的整洁和一致性,减少重复工作。 ...

Global site tag (gtag.js) - Google Analytics