您的位置:首页 > 其它

BaseAction

2015-09-11 10:24 351 查看
一个项目中可能会有很多action都需要用到session,如果每个action都来实现 org.apache.struts2.interceptor.SessionAware这个接口,可能会显得比较麻烦,所以建议作一个抽象的 BaseAction类来实现org.apache.struts2.interceptor.SessionAware接口,以后所有的action只要继承这个BaseAction就可以了。

BaseAction一般用于统一的过程包装,例如异常处理,记录登录用户操作日志实现的模式一般使用模板方法。action类基础,继承自ActionSupport,用户实现自己的action的时候继承,提供
Map<String, Object> session, 提供 HttpServletResponse response, 提供 HttpServletRequest request等



/**
* 响应文本信息,utf-8编码
* @param json 文本信息,多为JSON
*/
public void responseText(String json){
response.setContentType("text/html;charset=utf-8");
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
out.print(json);
out.flush();
}
public void responseXml(String json){
response.setContentType("text/plain;charset=utf-8");
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
out.print(json);
out.flush();
}

public void setSession(Map<String, Object> arg0) {
this.session = arg0;
}

涉及到session要谨慎,一旦session过期将会产生很多无法预料的问题。baseAction只适合解决一些横切方面的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: