/**
* @Title: WebActionBase.java
* @Description: TODO
* @author: Calvinyang
* @date: Oct 12, 2014 11:05:14 AM
* Copyright: Copyright (c) 2013
* @version: 1.0
*/
package edu.fudan.webclient.actions;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.alibaba.fastjson.JSONObject;
import com.opensymphony.xwork2.ActionSupport;
import edu.fudan.webclient.util.RetMsg;
import edu.fudan.webclient.util.RetMsg.ErrCode;
/**
* @author: Calvinyang
* @Description: TODO
* @date: Oct 12, 2014 11:05:14 AM
*/
@SuppressWarnings("serial")
public class WebActionBase extends ActionSupport implements ServletRequestAware {
public HttpServletRequest request;
protected JSONObject ret;
protected JSONObject data;
/**
*
* @Title: isset
* @Description: 判断是否设置某个字段
* @param attrName
* @return
*/
public boolean isset(String attrName) {
return request.getParameterMap().containsKey(attrName);
}
/**
*
* @Title: getParam
* @Description: 获取某个请求参数的值
* @param attrName
* @return
*/
protected String getParam(String attrName) {
return request.getParameter(attrName);
}
/**
*
* @Title: response
* @Description: ajax响应
* @return
* @throws Exception
*/
public String response() throws Exception {
HttpServletResponse resp = ServletActionContext.getResponse();
resp.setContentType("text/json;charset=UTF-8");
ret.put("msg", RetMsg.getMsg(ret.getIntValue("r")));
PrintWriter out = resp.getWriter();
out.write(ret.toString());
out.flush();
out.close();
return null;
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
request = arg0;
try {
request.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
if (isAjax()) {
ret = new JSONObject();
data = new JSONObject();
ret.put("data", data);
ret.put("r", ErrCode.OK);
}
}
/**
*
* @Title: isAjax
* @Description: 判断是否ajax请求
* @return
*/
public boolean isAjax() {
String header = request.getHeader("X-Requested-With");
return header != null && header.equals("XMLHttpRequest");
}
/**
*
* @Title: isGet
* @Description: 判断是否get请求
* @return
*/
protected boolean isGet() {
return request.getMethod().equalsIgnoreCase("GET");
}
}