• 将请求的数据以json(plain)输出有乱码


    由于发送一个请求路径返回到浏览器是一串json字符串,虽然写了过滤器但是实际上过滤器没有拦截到。因此它是一段纯文本格式,所有要设置它的编码类型和字符编码,

    也就是response.setContentType("text/plain;charset=UTF-8"),但是它的设定一定要在pw.write(json)之前。否则还是会出现乱码。

    public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware{

     /**
      * @Fields serialVersionUID : 序列化
      */
     private static final long serialVersionUID = 2823334602737926536L;
     
     public static final String JSON_ERROR = "{\"success\":\"false\"}";
     public static final String JSON_SUCCESS = "{\"success\":\"true\"}";
     protected HttpServletRequest _request;
     protected HttpServletResponse _response;
     
     @Override
     public void setServletResponse(HttpServletResponse response) {
      this._response=response;
      this._response.setContentType("text/plain;charset=UTF-8");
     }

     @Override
     public void setServletRequest(HttpServletRequest request) {
      this._request=request;
     }
     @JSON(serialize=false)
     public void returnJson(String json){
      PrintWriter pw=null;
      try {
       pw=this._response.getWriter();
       pw.write(json);
       pw.flush();
      } catch (IOException e) {
       e.printStackTrace();
      }finally{
       if (pw!=null) {
        pw.close();
       }
      }
     } 
    }

  • 相关阅读:
    Python学习2——使用字符串(完整版)
    Python补充4——替换与修改
    Python学习3——列表和元组
    数据结构链表——双向链表
    数据结构链表—— 循环链表
    数据结构链表——静态链表
    LeetCode 61——旋转链表(JAVA)
    LeetCode 2——两数相加(JAVA)
    LeetCode 328——奇偶链表(JAVA)
    HillCrest Sensor HAL
  • 原文地址:https://www.cnblogs.com/lbangel/p/3045889.html
Copyright © 2020-2023  润新知