struts2的配置解释以及使用ajax、创建传输json的两种方式
2017-07-25 18:14
344 查看
struts不像springMVC,对json有很好的支持,所以介绍下在struts中如何使用ajax传输json数据。
js:
在js处都是一样的:
1.使用最基础的方式:
这里使用的是google的gson包。
2.使用struts2之后支持的struts2-json,先去下载jar包。
(1)引入jar包,maven配置好信息
(2)在struts文件中,新建package
name:名字唯一
namespace:对应地址的url
extends:必须是json-default
action:
name:对应url地址的名称
class:对应哪个class文件
method:该class文件中的某个方法
result:
name:方法的返回值,如:
param:中间的值必须为前台想要接受的值,如我的数据都在jsonData之中。
(3)写方法:
成功获取数据:
tips:
1.下载的struts2-json必须要版本号与项目的struts相同,不可过高,否则报错。
2.在action处写json时,不要使用com.google.gson,否则传输的数据为空,这里使用的是fastJson
js:
在js处都是一样的:
$.ajax({ type: "post", url: '${root}/json/TbMstJyglbmdm/test_ajax.jspx', cache:false, data:null, dataType:'json', /* contentType:"text", */ async:false, success: function(data){ console.log(data); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert('发生错误'); } });
1.使用最基础的方式:
JsonObject json = new JsonObject(); json.addProperty("msg", "ok"); json.addProperty("type", "1"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = null; try { out = response.getWriter(); out.print(json); } catch (java.io.IOException e) { e.printStackTrace(); }通过response的方式out输出结果。
这里使用的是google的gson包。
2.使用struts2之后支持的struts2-json,先去下载jar包。
(1)引入jar包,maven配置好信息
(2)在struts文件中,新建package
<package name="json" namespace="/json" extends="json-default"> <action name="TbMstJyglbmdm/test_ajax" method="test_ajax" class="org.my431.base.web.TbMstJyglbmdmAction"> <result name="ok" type="json"> <!-- 这里的jsonData对应action里要返回的map对象 --> <param name="root">jsonData</param> </result> </action> </package>package:
name:名字唯一
namespace:对应地址的url
extends:必须是json-default
action:
name:对应url地址的名称
class:对应哪个class文件
method:该class文件中的某个方法
result:
name:方法的返回值,如:
public String test_ajax() { return "ok"; }type:类型必须为json
param:中间的值必须为前台想要接受的值,如我的数据都在jsonData之中。
(3)写方法:
public String test_ajax() { dataMap = new HashMap<String, Object>(); // 放入一个是否操作成功的标识 dataMap.put("success", true); dataMap.put("name", "张三"); dataMap.put("age", 11); jsonData = new JSONObject(); jsonData.put("text1", "1"); jsonData.put("text2", "2"); return "ok"; }
成功获取数据:
tips:
1.下载的struts2-json必须要版本号与项目的struts相同,不可过高,否则报错。
2.在action处写json时,不要使用com.google.gson,否则传输的数据为空,这里使用的是fastJson
相关文章推荐
- 在struts2中使用Ajax的json和request/response两种方式
- Ajax的基础请求以及获取JSON的两种解析方式
- struts2 中使用 json需要的jar包以及配置
- NSTimer的两种创建方式以及跟RunLoop的简单结合使用
- 如何在struts2中使用、配置ajax,json?sx:datetimepicker无法显示日历
- java中创建String类型对象的两种方式以及在使用equals()和“==”两种方法时的区别
- 精华--ssm框架前后端使用AJAX传输json数据配置详解
- 网络传输中,对Json组织方式的数据的解析以及使用这个方法,模拟从服务器端下载数据
- struts2 中使用 json需要的jar包以及配置
- struts2 中使用 json需要的jar包以及配置
- 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
- 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
- 利用json和prototype来做用户是否正确的判断,传统的方式是提交后做判断,这里使用的是ajax异步传输的方式。
- MVC中使用AJAX方式调用数据(microsoft,jquery两种方式)
- 转载--Ajax学习---使用 JSON 进行数据传输
- Ext2.2与Struts2集成,使用Json数据格式传输数据问题
- Ajax学习摘录之第十部分 使用 JSON 进行数据传输
- 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
- 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输