abstract class BaseAction

来源:互联网 发布:json转换为字符串 编辑:程序博客网 时间:2024/06/05 09:30

  在struts2 in action中所见,这样封装后省去了大部分crud重复代码,虽然还不能理悟,先记下来。

  abstract class BaseAction extends ActionSupport {

  protected DB db;

  protected static Log log = LogFactory.getLog(BaseAction.class);

  private long requestId;

  private boolean readOnly = false;

  private String mappedRequest;

  @SkipValidation

  public String show(){

  setReadOnly(true);

  setMappedRequest(Constants.LIST);

  return SUCCESS;

  }

  @SkipValidation

  public String add(){

  setMappedRequest(Constants.SAVE);

  return SUCCESS;

  }

  public String save(){

  db.save(getModel());

  return list();

  }

  @SkipValidation

  public String edit(){

  setMappingRequest(Constants.UPDATE);

  return SUCCESS;

  }

  public String update(){

  db.save(getModel());

  return list();

  }

  @SkipValidation

  public String destroy(){

  setReadOnly(true);

  setMappingRequest(Constants.REMOVE);

  return Constants.SUCCESS;

  }

  public String remove(){

  db.remove(getModel());

  return list();

  }

  @SkipValidation

  public String list(){

  setMappingedRequest(Constants.LIST);

  return Constants.LIST;

  }

  public String getActionClass(){

  return getClass()。getSimpleName();

  }

  public String getDestination(){

  return getClass()。getSimpleName();

  }

  public String getActionMethod(){

  return mappedRequest;

  }

  public void setActionMethod(String method){

  this.mappedRequest = method;

  }

  public void setMappedRequest(String actionMethed){

  this.mappedRequest = getActionClass() + "_" + actionMethed;

  log.debug("setting mappedRequest to "+ getActionClass() + "_" + actionMethed);

  }

0 0