频道栏目
首页 > 资讯 > JavaScript > 正文

action中json的应用

14-04-25        来源:[db:作者]  
收藏   我要投稿

这篇文章重点介绍action中json数据的返回处理;如果需要看前端代码的一些特效或ajax的json接收,请看上一篇博客:http://blog.csdn.net/yangkai_hudong/article/details/24422817

1.需要依赖的方法

/**

* 获取PrintWriter

*

* @throws IOException

*/

public static PrintWritergetPrintWriter(HttpServletResponse response) throws IOException {

response.setContentType("text/plain;charset=utf-8");

response.setCharacterEncoding("UTF-8");

response.setHeader("Pragma", "no-cache");

response.setHeader("Cache-Control", "no-cache");

response.setDateHeader("Expires", 0);

PrintWriter out = response.getWriter();

return out;

}

/**

* 输出json操作

*

* @param out

* PrintWriter

* @param result

*/

public voidresponseStr(PrintWriter out, String result) {

out.println(result);

out.flush();

out.close();

}

public String createJsonObject(Stringflag, String msg) {

JSONObject obj = new JSONObject();

try {

obj.put("flag", flag);

obj.put("msg", msg);

} catch (JSONException e) {

logger.error("生成JSON格式出错" + e);

obj.put("flag", "0");

obj.put("msg", "由于网络问题,数据处理失败");

} finally {

return obj.toString();

}

}

2.action中的使用案例

public ActionForwardadd(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response) throws IOException,AppException {

PrintWriter out = getPrintWriter(response);

String docTitle = Tool.getDefaultValue(request, "docTitle", "");

String uid = Tool.getDefaultValue(request, "uid", "");

try {

Long flag1 = WeiboWidgetDao.add(docTitle, uid);

Long flag2 = WeiboWidgetDao.addRel(docTitle, uid);

if (flag1 != null && flag2 != null) {

responseStr(out, createJsonObject("1", "添加成功!"));

WeiboWidgetDao.updateCache("doc", docTitle); // 更新词条缓存

} else {

responseStr(out, createJsonObject("0", "添加词条微博失败!"));

}

} catch (Exception e) {

logger.debug("添加词条微博失败:" + e);

responseStr(out,createJsonObject("0", "添加词条微博失败,发生异常!"));

}

return null;

}

3.js中的使用案例

保存

function save() {

// 保存前验证

var docTitle = $("#win_docTitle").val();

var uid = $("#win_uid").val();

if (docTitle != "" && uid != "") {

$.ajax({

dataType: 'json',

type: 'POST',

url: '/weiboWidget.do',

data: {

'action' : $("#win_action").val(),

'id' : $("#win_id").val(),

'docTitle' : $("#win_docTitle").val(),

'uid' : $("#win_uid").val(),

},

success : function(data) {

if (data.flag == 1) {

alert(data.msg);

window.location.href= "/weiboWidget.do?action=show";

}else {

alert(data.msg);

}

return false;

},

error: function() {

alert("由于网络问题,保存数据失败!");

return false;

}

});

}else {

alert("词条名和微博UID不能为空!");

return false;

}

}

删除

/**

* 批量删除操作

*

*/

function deleteData() {

var idList =document.getElementsByName("id_list");

var ids = "";

var docTitles = "";

// 检查是否选择内容

for (i = 0; i < idList.length;i++) {

if(idList[i].checked) {

var temp =idList[i].value.split(";");

ids+= temp[0] + ",";

docTitles+= temp[1] + ",";

}

}

if (ids == "") {

alert("请选择纪录!");

}else {

$.post("/weiboWidget.do?action=delete&" + new Date(), {

'ids' : ids,

'docTitles' : docTitles

},function(data) {

window.location.href= "/weiboWidget.do?action=show";

return false;

});

}

}


转载请指明:http://blog.csdn.net/yangkai_hudong

相关TAG标签
上一篇:Backbone.js的集合详解(下)
下一篇:javascript基础篇--function类型(上)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站