struts2学习--返回json格式字符串

用ajax发送异步请求,回调函数需要一个json字符串返回

    // 必须提供getter/setter方法
    private Map<String,Object> jsonMap = new HashMap<>();

    public String saveCreateMarketActivity(){
        try {
            // 保存
            marketActivityService.saveCreateMarketActivity(marketActivity);
            jsonMap.put("success", true);
            jsonMap.put("msg", "保存成功");

        } catch (Exception e) {
            e.printStackTrace();
            jsonMap.put("success", false);
            jsonMap.put("msg", "保存失败");
        }
        //这里写了一个工具类
        JsonGenetator.getJson(jsonMap);
        return SUCCESS;
    }

生成json串的工具类

public class JsonGenetator {

    /**
     * 将Object对象转换成json串
     * @param obj
     * @return
     */
    public static String getJson(Object obj){
        String json = "";

        try {
             new ObjectMapper().writeValueAsString(obj);
        } catch (JsonGenerationException e) {
            e.printStackTrace();
        } catch (JsonMappingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return json;
    }  
}

struts.xml

<package name="marketActivity" namespace="/workbench/activity" extends="json-default">
    <action name="saveCreateMarketActivity" class="marketActivityAction" method="saveCreateMarketActivity">
        <result type="json"><!-- 这里是json格式的,所以必须继承json-default -->
            <!-- root表示根对象 -->
            <param name="root">jsonMap</param><!-- action中的属性 -->
        </result>
    </action>
</package>  
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页