用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>