package com.kaisheng.web; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.Preparable; public abstract class BaseAction<T> extends ActionSupport implements ModelDriven<T>,Preparable { private static final long serialVersionUID = -1029331864910379050L; public static final String RELOAD="reload"; public abstract T getModel(); public void prepare() throws Exception { } public String execute()throws Exception{ return null; } //------------------crud method------------------- public abstract String list()throws Exception; /** * 保存操作(添加、修改) * @return * @throws Exception */ public abstract String save()throws Exception; public void prepareSave()throws Exception{ prepareModel(); } /** * 导向到添加或修改页面 */ public abstract String input()throws Exception; public void prepareInput()throws Exception{ prepareModel(); } /** * 删除操作 * @return * @throws Exception */ public abstract String del()throws Exception; public void prepareDel()throws Exception{ prepareModel(); } public abstract void prepareModel()throws Exception; //session request application public Map<String,Object> getSession(){ return ActionContext.getContext().getSession(); } public void saveToSession(String key,Object value){ getSession().put(key, value); } public Object getFromSession(String key){ return getSession().get(key); } public Map<String,Object> getApplication(){ return ActionContext.getContext().getApplication(); } public void saveToApplication(String key,String value){ getApplication().put(key, value); } public Object getFromApplication(String key){ return getApplication().get(key); } @SuppressWarnings("unchecked") public Map<String,Object> getRequest(){ return (Map<String, Object>) ActionContext.getContext().get("request"); } public void saveToRequest(String key,Object value){ getRequest().put(key, value); } public Object getFromRequest(String key){ return getRequest().get(key); } } prepare ,getModel,prepareModel,顺序