在项目当中基类也是必不可少的,定义一个基类,然后它继承你要的那种Action.
并且在基类当中定义一些常用需要的方法,
然后我们只要继承这个基类就可以了.(积累就相当于我们的Action了,我们继承它就可以了)
java 代码
- package org.langsin.computer.web.core;
- import java.lang.reflect.InvocationTargetException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpSession;
- import org.apache.commons.beanutils.BeanUtils;
- import org.apache.struts.action.ActionForm;
- import org.apache.struts.actions.DispatchAction;
- public class BaseAction extends DispatchAction {
- /**
- * 将Form里的属性值,通过Java的反射机制全部复制到对象中
- *
- * @param form
- * @param obj
- */
- protected void bindEntity(ActionForm form, Object obj) {
- if (form != null) {
- try {
- BeanUtils.copyProperties(obj, form);
- } catch (IllegalAccessException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- /**
- * 将对象里的属性值,通过Java的反射机制全部复制到Form中
- *
- * @param form
- * @param obj
- */
- protected void bindForm(ActionForm form, Object obj) {
- if (obj != null) {
- try {
- BeanUtils.copyProperties(form, obj);
- } catch (IllegalAccessException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- protected Object getSessionObject(HttpServletRequest request,String sessionName){
- Object objSession=null;
- HttpSession session=request.getSession(false);
- if(session!=null){
- objSession=session.getAttribute(sessionName);
- }
- return objSession;
- }
- protected SessionContainer getSessionContainer(HttpServletRequest request){
- SessionContainer sessionContainer=(SessionContainer)this.getSessionObject(request, "SessionContainer");
- if(sessionContainer==null){
- sessionContainer=new SessionContainer();
- sessionContainer.setLocale(request.getLocale());
- HttpSession session=request.getSession(true);
- session.setAttribute("SessionContainer", sessionContainer);
- }
- return sessionContainer;
- }
- }