struts,如何讓一個json資料傳出到前臺

朱智文發表於2015-10-27

首先有個json資料;


jsonData = "{success:false, msg:'缺少dataType引數!'}";

或者呼叫下面的方法,讓她變成json資料


public static String toJson(boolean success, String key, String value) {
        Map<String, String> jsonMap = new HashMap<String, String>();
        jsonMap.put(key, value);
        return toJson(success, jsonMap);
    }
public static String toJson(boolean success, Map<String, String> jsonMap) {
        StringBuffer buffer = new StringBuffer();
        if (success) {
            buffer.append("{success:true");
        } else {
            buffer.append("{success:false");
        }

        if (jsonMap.size() > 0) {
            buffer.append(",");
            for (String key : jsonMap.keySet()) {
                if (!key.equals("class"))
                    buffer.append(key + " : '" + jsonMap.get(key) + "',");
            }
            // 去掉最後一個','
            buffer.deleteCharAt(buffer.length() - 1);
        }
        buffer.append("}");
        return buffer.toString();
    }

jsonData = "{success:false, msg:'缺少dataType引數!'}";

或者:

 這樣json資料就生成了,接下來,將json輸出到前臺

/**
     * JSON格式的輸出
 
     */
    protected void writeJSON(String jsonData) {
        try {
            outputAjaxJsonData(jsonData);
        } catch (Exception ex) {
            logger.error("輸出資訊報錯", ex);
        }
    }



 /**
     * 將資料以ajax方式輸出到頁面
     *
     * @param String 輸出到介面的資訊
     */
    protected void outputAjaxJsonData(String outputString) {
        try {
            HttpServletResponse response = this.getResponse();
            response.setContentType("text/json");
            response.setCharacterEncoding("utf-8");
            response.setHeader("Cache-Control", "no-cache");
            response.getWriter().write(outputString);
            response.getWriter().close();
        } catch (Exception ex) {
            logger.error("HttpServletResponse 輸出流報錯", ex);
        }
    }

jsonData = "{success:false, msg:'缺少dataType引數!'}";

相關文章