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

action中json的应用的更多相关文章

  1. Structs2中Action返回json到前台方法

    1.传统方式JSON输出 这一点跟传统的Servlet的处理方式基本上一模一样,代码如下 01 public void doAction() throws IOException{ 02        ...

  2. Action中使用Json

    1.前台页面中的ajax: //根据部门查询该部门下的用户列表 function doSelectDept(){ //1.获取部门 var dept = $("#toCompDept opt ...

  3. SSH框架中json传递失败

    错误截图: 这个错误乍一看无从下手,报的都是框架底层的错误,于是查阅资料得到了答案. 错误原因:struts会将action中定义的一些变量序列化转换成json格式,需要调用对象的一系列get方法,并 ...

  4. jsp a标签传值到action中,action接收不到传值

    因为需求,今天在action中加了一个marker属性,尝试了很多方法 set,get方法也生成了,但是就接收不到值. 这时我注意到action中有我之前使用ajax请求数据返回json格式数据,不以 ...

  5. Asp.Net Core中Json序列化处理整理

    一.Asp.Net Core中的Json序列化处理使用的是Newtonsoft.Json,更多参考:C# Newtonsoft.Json JsonSerializerSettings配置序列化操作,C ...

  6. 在net中json序列化与反序列化 面向对象六大原则 (第一篇) 一步一步带你了解linq to Object 10分钟浅谈泛型协变与逆变

    在net中json序列化与反序列化   准备好饮料,我们一起来玩玩JSON,什么是Json:一种数据表示形式,JSON:JavaScript Object Notation对象表示法 Json语法规则 ...

  7. 【Java EE 学习 70 下】【数据采集系统第二天】【Action中User注入】【设计调查页面】【Action中模型赋值问题】【编辑调查】

    一.Action中User注入问题 Action中可能会经常用到已经登陆的User对象,如果每次都从Session中拿会显得非常繁琐.可以想一种方法,当Action想要获取User对象的时候直接使用, ...

  8. 9.Struts2在Action中获取request-session-application对象

    为避免与Servlet API耦合在一起,方便Action类做单元测试. Struts2对HttpServletRequest.HttpSession.ServletContext进行了封装,构造了三 ...

  9. struts通过action返回json

    其实struts2通过action返回json挺简单的,但是就是老要忘,所以索性写在博客上.好的,开始. 首先是引入必须的jar包: struts2-json-plugin-2.3.24.jar 然后 ...

随机推荐

  1. Aspose.Cells相应操作及下载

    Aspose.Cells相应操作 1,上传 1.1 Workbook Workbook workBook = new Workbook(); 属性: 名称 值类型 说明 Colors Color[] ...

  2. mysql索引工作原理、分类

    一.概述 在mysql中,索引(index)又叫键(key),它是存储引擎用于快速找到所需记录的一种数据结构.在越来越大的表中,索引是对查询性能优化最有效的手段,索引对性能影响非常关键.另外,mysq ...

  3. rm---删除目录huo文件

    rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链接文件,而原有文件保持不变. 注意:使用rm命令要格外小心.因为一旦 ...

  4. SpringBoot 静态资源 加载位置

    1.配置自定义拦截器 /** * Copyright (C), 2017-2018, XXX有限公司 * FileName: WebConfig * Author: 丶Zh1Guo * Date: 2 ...

  5. Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型

    1.基础知识 1.1.数据库概述 简单地说:数据库(Database或DB)是存储.管理数据的容器: 严格地说:数据库是"按照某种数据结构对数据进行组织.存储和管理的容器". 总结 ...

  6. 洛谷 P3670 [USACO17OPEN]Bovine Genomics S奶牛基因组(银)

    P3670 [USACO17OPEN]Bovine Genomics S奶牛基因组(银) 题目描述 Farmer John owns NN cows with spots and NN cows wi ...

  7. 洛谷 P3585 [POI2015]PIE

    P3585 [POI2015]PIE 题目描述 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色.你有一个a*b的印章,有些格子是凸起(会沾上墨水)的.你需要判断能否用这个印章印出纸上 ...

  8. Dynamics CRM2013/2015 插件注冊工具登录后无法显示assembly列表问题的解决的方法

    自微软从2013版本号推出新的插件注冊器后,随着UI的重大更新后,问题也多了非常多.前面已有博客提到注冊assembly时看不到注冊button(http://blog.csdn.net/vic022 ...

  9. 【Linux探索之旅】第四部分第三课:文件传输,潇洒同步

    内容简单介绍 .第四部分第三课:文件传输.潇洒同步 2.第四部分第四课:分析网络.隔离防火 文件传输.潇洒同步 这一课的内容相对简单,所以我们慢慢享用. 经过上一课的学习.我们已经知道怎样远程连接到其 ...

  10. servlet学习(1)

    1.Servlet是sun公司提供的一门用于开发动态web资源的技术. 2.Servlet在web应用的位置: 3.创建Servlet的三种方式: (1)实现servlet的接口 (2)继承Gener ...