action中json的应用

推店365app下载安装 2025-08-30 01:19:07 admin 8376 706
action中json的应用

这篇文章重点介绍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

相关推荐

[090831] 一般人也可以玩「理想型世界杯」遊戲!
365_体育投注英超和欧冠

[090831] 一般人也可以玩「理想型世界杯」遊戲!

08-15 233
大家的行车记录仪都是在哪里买的?
推店365app下载安装

大家的行车记录仪都是在哪里买的?

07-08 517
盗窃车辆如何追回
365_体育投注英超和欧冠

盗窃车辆如何追回

08-04 843