This commit is contained in:
123 2025-04-27 14:54:59 +08:00
parent 1a7c7f2225
commit 85a8d27795
2 changed files with 714 additions and 739 deletions

View File

@ -1,110 +1,113 @@
package cc.iteachyou.cms.common; package cc.iteachyou.cms.common;
import java.io.IOException; import com.alibaba.fastjson.JSONObject;
import java.io.PrintWriter; import com.alibaba.fastjson.serializer.SerializerFeature;
import java.io.Serializable; import org.springframework.web.bind.annotation.ModelAttribute;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import java.io.IOException;
import org.springframework.web.bind.annotation.ModelAttribute; import java.io.PrintWriter;
import java.io.Serializable;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
/** /**
*
* controller基类实现将JSON格式结果的输出方法 * controller基类实现将JSON格式结果的输出方法
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public class BaseController implements Serializable { public class BaseController implements Serializable {
private static final long serialVersionUID = -1206237575319606156L; private static final long serialVersionUID = -1206237575319606156L;
protected HttpServletRequest request; protected HttpServletRequest request;
protected HttpServletResponse response; protected HttpServletResponse response;
protected HttpSession session; protected HttpSession session;
@ModelAttribute @ModelAttribute
public void setReqAndRes(HttpServletRequest request, HttpServletResponse response){ public void setReqAndRes(HttpServletRequest request, HttpServletResponse response) {
this.request = request; this.request = request;
this.response = response; this.response = response;
this.session = request.getSession(); this.session = request.getSession();
} }
/**
* 从Session中取得用户信息
* @return 用户信息
*/
public Object getLoginUser() {
HttpSession session = this.getRequest().getSession();
Object obj = session.getAttribute(Constant.SESSION_USER);
if(null == obj){
throw new RuntimeException("PlatSysUser为空,登陆出错!");
}
return obj;
}
/**
* 取得HttpServletRequest对象
* @return HttpServletRequest对象
*/
public HttpServletRequest getRequest() {
return request;
}
/**
* 取得Response对象
* @return
*/
public HttpServletResponse getResponse() {
return response;
}
/** /**
* 转换字符串为json 格式 * 从Session中取得用户信息
* @param str 普通字符串 *
*/ * @return 用户信息
public void outJsonString(String str) { */
getResponse().setContentType("text/html;charset=UTF-8"); public Object getLoginUser() {
outString(str); HttpSession session = this.getRequest().getSession();
} Object obj = session.getAttribute(Constant.SESSION_USER);
if (null == obj) {
/** throw new RuntimeException("PlatSysUser为空,登陆出错!");
* 转换字符串为json 格式并设置ContentType为text/html }
* @param str 普通字符串 return obj;
*/ }
public void outJson(Object obj) {
getResponse().setContentType("text/html;charset=UTF-8");
outJsonString(JSONObject.toJSONString(obj,SerializerFeature.WriteMapNullValue));
}
/** /**
* 输出字符串到页面 * 取得HttpServletRequest对象
* @param str 字符 *
*/ * @return HttpServletRequest对象
public void outString(String str) { */
try { public HttpServletRequest getRequest() {
getResponse().setHeader("Cache-Control", "no-cache"); return request;
getResponse().setHeader("Cache-Control", "no-store"); }
getResponse().setDateHeader("Expires", 0L);
getResponse().setHeader("Pragma", "no-cache");
PrintWriter out = getResponse().getWriter();
out.write(str);
getResponse().flushBuffer();
} catch (IOException e) {
}
}
/** /**
* 输出xml文本串到页面 * 取得Response对象
* @param xmlStr xml串 *
*/ * @return
public void outXMLString(String xmlStr) { */
getResponse().setContentType("application/xml;charset=UTF-8"); public HttpServletResponse getResponse() {
outString(xmlStr); return response;
} }
/**
* 转换字符串为json 格式
*
* @param str 普通字符串
*/
public void outJsonString(String str) {
getResponse().setContentType("text/html;charset=UTF-8");
outString(str);
}
/**
* 转换字符串为json 格式并设置ContentType为text/html
*
* @param str 普通字符串
*/
public void outJson(Object obj) {
getResponse().setContentType("text/html;charset=UTF-8");
outJsonString(JSONObject.toJSONString(obj, SerializerFeature.WriteMapNullValue));
}
/**
* 输出字符串到页面
*
* @param str 字符
*/
public void outString(String str) {
try {
getResponse().setHeader("Cache-Control", "no-cache");
getResponse().setHeader("Cache-Control", "no-store");
getResponse().setDateHeader("Expires", 0L);
getResponse().setHeader("Pragma", "no-cache");
PrintWriter out = getResponse().getWriter();
out.write(str);
getResponse().flushBuffer();
} catch (IOException e) {
}
}
/**
* 输出xml文本串到页面
*
* @param xmlStr xml串
*/
public void outXMLString(String xmlStr) {
getResponse().setContentType("application/xml;charset=UTF-8");
outString(xmlStr);
}
} }

File diff suppressed because it is too large Load Diff