package com.shove.web.action;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.hehenian.biz.common.account.dataobject.AccountUserDo;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.shove.util.SqlInfusion;
import com.shove.vo.HelpMessage;
import com.sp2p.constants.IConstants;
import com.sp2p.entity.User;
/**
* action的基类
*
*/
public class BaseAction extends ActionSupport {
private static final long serialVersionUID = 1L;
// 页面表单存放数据
protected Map<String, String> paramMap = new HashMap<String, String>();
protected HelpMessage helpMessage = new HelpMessage();
protected HttpServletRequest request() {
return ServletActionContext.getRequest();
}
protected String request(String key) {
return SqlInfusion.FilteSqlInfusion(request().getParameter(key));
}
protected void export(HSSFWorkbook wb, String fileName) throws IOException {
HttpServletResponse response = response();
// 设置response的编码方式
response.setContentType("application/x-msdownload");
// 写明要下载的文件的大小
// response.setContentLength((int)fileName.length());
// 设置附加文件名
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
// 解决中文乱码
// response.setHeader("Content-Disposition","attachment;filename="+new
// String
// (filename.getBytes("gbk"),"iso-8859-1"));
OutputStream output = response().getOutputStream();
wb.write(output);
output.flush();
output.close();
}
protected long getUserId() {
AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER);
long userId = -1;
if (user != null) {
userId = user.getId();
}
return userId;
}
protected HttpSession session() {
return ServletActionContext.getRequest().getSession();
}
protected Object session(String key) {
return session().getAttribute(key);
}
protected ServletContext application() {
return ServletActionContext.getServletContext();
}
protected HttpServletResponse response() {
return ServletActionContext.getResponse();
}
public Map<String, String> getParamMap() {
return paramMap;
}
public void setParamMap(Map<String, String> paramMap) {
this.paramMap = paramMap;
}
public HelpMessage getHelpMessage() {
return helpMessage;
}
public void setHelpMessage(HelpMessage helpMessage) {
this.helpMessage = helpMessage;
}
}