测试struts.xml中result参数的不同返回不同的json数据

原创 2012年03月28日 21:31:52
测试struts.xml中result参数的不同返回不同的json数据

目的是为了比较result中type不同和result中参数的不同所产生的效果

如果查询的是所有的数据,在action中定义的类型如下:

private List<Goods> entities;
public List<Goods> getEntities() {
	return entities;
}
1.第一种:
在xml文件中如果没有param,内容如下:
<action name="goods" class="cn.csdn.hr.action.GoodsAction">
			<result type="json"/>
</action>
它得到的是json数据,但是autocomplete解析不出这样的json格式,所以读取不出来,结果为:
{"entities":[{"id":2,"name":"老王 ","price":222.0},{"id":1,"name":"老王 ","price":222.0},{"id":3,"name":"老王 ","price":222.0},{"id":4,"name":"老王 ","price":222.0},{"id":5,"name":"老王 ","price":222.0}]
.
2.第二种:如果加上param的name为多的那个对象,则可以返回的是json数据
<action name="goods" class="cn.csdn.hr.action.GoodsAction">
			<result type="json">
				<param name="root">entities</param>
			</result>
</action>
返回的数据为:
[{"id":2,"name":"老王 ","price":222.0},{"id":1,"name":"老王 ","price":222.0},{"id":3,"name":"老王 ","price":222.0},{"id":4,"name":"老王 ","price":222.0},{"id":5,"name":"老王 ","price":222.0}]

可见返回的是json数据,并且在智能提示中可以提取出来,可以得知:
<param name="root">entities</param>
的意思是从根节点为entities的开始遍历,所有看到的数据就是json数据了。


3.如果在action中封装的是一个实体,也就是查询的是一条数据,则代码为:
private Goods entity;
public Goods getEntity() {
		return entity;
}

响应的数据为:
{"entity":{"id":1,"name":"老王 2","price":222.0}}


4.如果加上param参数,则返回的是
<action name="goods" class="cn.csdn.hr.action.GoodsAction">
			<result type="json">
				<param name="root">entity</param>
			</result>
</action>
结果为:{"id":1,"name":"老王 2","price":222.0}


5.如果在action中的数据为:
private List<Goods> entities;

	private Goods entity;

	public List<Goods> getEntities() {
		return entities;
	}

	public Goods getEntity() {
		return entity;
	}

在xml文件中的数据为:
<action name="goods" class="cn.csdn.hr.action.GoodsAction">
			<result type="json">
				<param name="root">entity</param>
			</result>
</action>
则返回的只是entity对应的实体
{"id":1,"name":"老王 2","price":222.0}
6.如果为:
<action name="goods" class="cn.csdn.hr.action.GoodsAction">
			<result type="json">
				<param name="root">entities</param>
			</result>
</action>
则返回的只是entities的实体,为
[{"id":2,"name":"老王 ","price":222.0},{"id":1,"name":"老王 ","price":222.0},{"id":3,"name":"老王 ","price":222.0},{"id":4,"name":"老王 ","price":222.0},{"id":5,"name":"老王 ","price":222.0}]

7.如果在xml中的文件为:
<action name="goods" class="cn.csdn.hr.action.GoodsAction">
			<result type="json">
				<param name="root">entities,entity</param>
			</result>
</action>

那么返回的数据为:
{"id":1,"name":"老王 2","price":222.0}

也就是谁在后面返回的是哪个

.8。如果xml数据为:
<result type="json">
		<param name="includeProperties">entities</param>
</result>

返回的结果为:
{"entities":[]}


9.如果xml中数据为:
<result type="json">
				<param name="includeProperties">entities\[\d+\].name</param>
			</result>

返回的数据为:
{"entities":[{"name":"老王1 "},{"name":"老王 2"},{"name":"老王3 "},{"name":"老王4 "},{"name":"老王5 "}]}


10.如果xml中数据为:
<result type="json">
				<param name="includeProperties">^entities\[\d+\].name</param>
</result>
返回的数据为:
{"entities":[{"name":"老王1 "},{"name":"老王 2"},{"name":"老王3 "},{"name":"老王4 "},{"name":"老王5 "}]}


相关文章推荐

MyBatis之resultMap的作用和xml配置折腾

简单的搭建。MyBatis实战——前身iBatis、基础环境搭建和如何"钓鱼" 这篇写了基础的环境搭建和代码操作。我这里是使用了xml加interface结合的方法进行操作。现有Employee类。如...
  • iaiti
  • iaiti
  • 2016年11月19日 14:04
  • 8595

测试struts.xml中result参数的不同返回不同的json数据

测试struts.xml中result参数的不同返回不同的json数据     如果查询的是所有的数据,在action中定义的类型如下:   private List entities; ...
  • xudanna
  • xudanna
  • 2012年03月28日 22:24
  • 234

测试struts.xml中result参数的不同返回不同的json数据

测试struts.xml中result参数的不同返回不同的json数据     如果查询的是所有的数据,在action中定义的类型如下:   private List entities; ...

jquery异步传输3种不同数据类型html、xml、json

jquery异步传输方式:     ①返回html类型的数据      jsp代码如下:     pageEncoding="UTF-8"%> http://www.w3.org/TR/html4...

struts2 中的 result 返回类型是 json 的配置问题

1、引入包(本文中的包全部引自struts-2.1.8.1\lib): struts2-json-plugin-2.1.8.1.jar  json-lib-2.1.jar commo...

Struts.xml配置返回JSON数据

网易编辑器的代码编辑功能不怎么样唉~!测试struts.xml中result参数的不同返回不同的json数据目的是为了比较result中type不同和result中参数的不同所产生的效果如果查询的是所...

struts.xml处理同个action不同方法

struts2的关于method=“{1}"意思详解 中Login_*带*是什么意思?method= "{1} "带{}这个是什么意思? =============================...

hibernate.cfg.xml文件的配置模板和不同数据库的配置参数

(1)hibernate.cfg.xml文件的配置模板
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:测试struts.xml中result参数的不同返回不同的json数据
举报原因:
原因补充:

(最多只允许输入30个字)