package com.lgx8.common.servlet;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.json.JSONObject;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import com.lgx8.common.KeyStore;
import com.lgx8.common.PageArgument;
public class BaseController extends MultiActionController{
public static final String DEFAULT_KEY_NAME = "key_id";
public static final String DEFAULT_KEY_STORE_NAME = "KeyStore";
/** 获取分页信息 */
protected PageArgument getPageInfo(HttpServletRequest request) {
try {
// 获取分页参数
JSONObject jsonObj = new JSONObject(request.getParameter("_gt_json"));
logger.debug(jsonObj.toString());
JSONObject pageInfo = (JSONObject) jsonObj.getJSONObject("pageInfo");
int pageNum = Integer.parseInt(pageInfo.getString("pageNum"));
int pageSize = Integer.parseInt(pageInfo.getString("pageSize"));
PageArgument pageArg = new PageArgument();
pageArg.setCurPage(pageNum);
pageArg.setPageSize(pageSize);
return pageArg;
} catch (Exception e) {
e.printStackTrace();
return new PageArgument();
}
}
/** 返回JSON异常响应消息 */
public void printJSON(HttpServletResponse response, String json) {
try {
response.setContentType("text/json; charset=utf-8");
response.getWriter().print(json);
response.getWriter().close();
} catch (IOException e) {
e.printStackTrace();
}
}
/** 返回XML异常响应消息 */
public void printXML(HttpServletResponse response, String xml) {
try {
response.setContentType("text/xml; charset=utf-8");
response.getWriter().print(xml);
response.getWriter().close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* @method getKeyStoreArray: 得到keyStore中的数据并转换成为数组
*
*
* @param request
* @return String[]
* @throws
*/
public String[] getKeyStoreArray(HttpServletRequest request) {
KeyStore keyStore = this.getKeyStore(request);
String[] orgIds = new String[keyStore.size()];
keyStore.toArray(orgIds);
return orgIds;
}
/**
* @return ams.action.KeyStore
* @roseuid 4644358E01B5
*/
public KeyStore getKeyStore(HttpServletRequest request) {
return this.getActionSessionData(request).keyStore;
}
protected ActionSessionData getActionSessionData(HttpServletRequest request) {
HttpSession session = request.getSession();
ActionSessionData data = (ActionSessionData) session.getAttribute(BaseController.class.getName());
if (data == null) {
data = new ActionSessionData();
data.keyStore = this.createKeyStore();
session.setAttribute(BaseController.class.getName(), data);
}
return data;
}
protected KeyStore createKeyStore() {
return new KeyStore(DEFAULT_KEY_NAME);
}
public void clearKeyStore(HttpServletRequest request) {
this.getActionSessionData(request).clearKeyStore();
}
}