一个强大的父类:BaseAction
2011-08-23 16:32
197 查看
import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; import org.apache.struts2.dispatcher.mapper.ActionMapping; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.apache.struts2.interceptor.SessionAware; import com.xxx.travel.common.utils.FormatUtils; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionSupport; /** * 表现业务的基类 * @author IXR * */ @Results({ @Result(name=BaseAction.SUCCESS,location="${actionMapping.name!=null?actionMapping.name:\"index\"}/${actionMapping.method!=null?actionMapping.method:\"index\"}.jsp"), @Result(name=BaseAction.TEXT,type="plainText"), @Result(name=BaseAction.OK,location="/index/tsuccess?reload=${reload}",type="redirectAction"), @Result(name=BaseAction.NO,location="/index/tfailure?error=${errorMessage}&reload=${reload}",type="redirectAction") }) public class BaseAction extends ActionSupport implements Action,ServletRequestAware, SessionAware, ServletResponseAware{ private static final long serialVersionUID = 2461271909384319253L; private String reload ; protected Error error; public String getErrorMessage() throws UnsupportedEncodingException{ if(error != null){ return URLEncoder.encode(error.getMessage(),request.getCharacterEncoding()); }else{ return null; } } protected static final String TEXT = "text"; protected static final String OK = "OK"; protected static final String NO = "NO"; protected HttpServletRequest request; protected HttpServletResponse response; protected Map<String, Object> session; protected ActionMapping actionMapping; public void setSession(Map<String, Object> session) { this.session = session; } public void setServletRequest(HttpServletRequest request) { this.request = request; Object actionMapping = request.getAttribute("mapping"); if(actionMapping != null){ this.actionMapping = (ActionMapping)actionMapping; } } public void setServletResponse(HttpServletResponse response) { this.response = response; } public ActionMapping getActionMapping() { return actionMapping; } public void setActionMapping(ActionMapping actionMapping) { this.actionMapping = actionMapping; } public String getFMT_DATE(){return FormatUtils.FMT_DATE;} public void output(String text) throws Exception{ response.setCharacterEncoding(request.getCharacterEncoding()); PrintWriter out = response.getWriter(); out.print(text); } public void output(String text,String encoding) throws Exception{ response.setCharacterEncoding(encoding); PrintWriter out = response.getWriter(); out.print(text); } public String getReload() { return reload; } public void setReload(String reload) { this.reload = reload; } }
相关文章推荐
- 所有的页面都继承自定义的BasePage,而有一个特殊页面要继承BasePage,但不想执行父类构造函数调用的某些方法,怎么办?
- struts2 一个CRUD的BaseAction
- 一个强大的父类:ManagerAction
- 一个强大的父类:BaseDao
- struts2 一个CRUD的BaseAction
- 跟着汤阳光同志做一个OA系统(八):抽取页面公共部分、提取BaseAction、ModelDriven支持、Service和DAO合并、BaseAction中Service声明、非常好的增删改查流程
- 记录自学Android的笔记-自定义一个ActivityCollector类来管理所有活动和自定义BaseActivity作为所有活动的父类
- Struts 2中如何用一个action调用多个方法,避免每一个方法写一个action的繁琐之处
- 一个struts的action跳转大全!
- 一个强大的侧滑菜单控件ASwipeLayout
- 一个非常强大的视频、音频、二维码、图片、压缩等在线网址
- 一个eclipse3.3的强大功能
- 很强大,并且易于使用,更重要的是免费的一个分区工具:分区助手
- 如何建立一个强大的公关策略
- 一个关于Action的故事
- 关于 default-action-ref 的一个BUG 即解决方法
- struts2,jsp页用include访问一个action
- 一个强大的vim在线配置
- 推荐一个功能强大chart控件 ZedGraph。
- Rocket.Chat:一个功能强大的团队合作聊天工具