如何指定struts2返回我们需要的json类型数据?
今天下午做项目的时候,明明可以查到数据,可是就是没有在客户端进行显示,把所有前台代码扫了几遍,都不能找到原因,通过查看返回的json代码,发现有很多多余的返回内容,也就是这些多余的返回内容造成了前台解析的错误,经过上网查询找到了解决的办法:
处理请求的Action:
package com.hpu.action; import java.util.List; import javax.annotation.Resource; import com.hpu.pojo.Commodity; import com.hpu.service.CommodityService; import com.opensymphony.xwork2.ActionSupport; public class CommodityAction extends ActionSupport { private Double agio; private List<Commodity> commodities; private CommodityService commodityService; private Integer limit; private String msg; private String name; private Double price; private Integer recordSize; private Integer start; private boolean success; /**商品信息录入 * @author qinrui * @see commodityService * @return String */ public String add() { // 根据商品名获取商品 Commodity commodity = commodityService.loadByName(name); // 商品不存在,将新商品保存起来 if(commodity == null) { // 创建商品对象 commodity = new Commodity(); // 设定商品属性 commodity.setName(name); commodity.setPrice(price); commodity.setAgio(agio); // 保存商品 commodityService.save(commodity); success = true; msg = "商品录入成功"; } else { success = false; msg = "商品已经存在"; } return SUCCESS; } public Double getAgio() { return agio; } public List<Commodity> getCommodities() { return commodities; } public Integer getLimit() { return limit; } public String getMsg() { return msg; } public String getName() { return name; } public Double getPrice() { return price; } public Integer getRecordSize() { return recordSize; } public Integer getStart() { return start; } public boolean isSuccess() { return success; } public String query() { recordSize = commodityService.loadCommodities().size(); commodities = commodityService.loadCommodities(start , limit); for(Commodity c : commodities) { System.out.println(c.getName()); } return SUCCESS; } public void setAgio(Double agio) { this.agio = agio; } public void setCommodities(List<Commodity> commodities) { this.commodities = commodities; } @Resource(name="commodityServiceImpl") public void setCommodityService(CommodityService commodityService) { this.commodityService = commodityService; } public void setLimit(Integer limit) { this.limit = limit; } public void setMsg(String msg) { this.msg = msg; } public void setName(String name) { this.name = name; } public void setPrice(Double price) { this.price = price; } public void setRecordSize(Integer recordSize) { this.recordSize = recordSize; } public void setStart(Integer start) { this.start = start; } public void setSuccess(boolean success) { this.success = success; } }
我需要查询所有的Commodity,所有要调用query方法,也就是我要返回的内容只需要commodities与recordCode,就行了,可是如果不在struts.xml进行相应的配置,它就会返回所有内容,包括值为null的,那怎样才能让它按照自己的需求返回值呢?下面给出相应的strtus.xml配置:
<action name="commodity_query" class="com.hpu.action.CommodityAction" method="query"> <result type="json"> <param name="includeProperties">commodities.*,recordSize</param> </result> </action>
解释:由于commodities是个集合类型,如果只写上commodities的话,就会返回一个空的集合,而要返回集合里面的元素就要改成commodities.*,而要返回值中间使用逗号作为间隔符,includeProperties表示要返回内容,如果想要去掉不想要的内容使用excludeProperties即可。
参考文章:http://biancheng.dnbcw.info/java/408867.html
相关推荐
通过struts2返回json数据类型很好的文档里面有例子说明的
struts2返回json数据类型
而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持。但是,在开发工作中,对功能的升级是基于既定... Struts2返回JSON有两种方式:1.使用Servlet的输出流写入JSON字符串;2.使用Struts2对JSON的扩展。
当自己做出来时,感觉挺简单的,但想起自己刚开始做不会那会儿,真的挺悲哀的啊,在网上也搜了半天也没搜出个123,最终经过苦战终于做出来的,文档中重要部分都标红提示了,在此分享给童鞋们
struts2返回json数据用query在页面接收
该资源是使用struts2框架进行操作,返回json格式数据,前台通过ajax提交内容。
androind http 请求 struts2 action 返回 json 数据 例子
struts2向服务器返回json数据的一个简单Demo,便于理解
jsp通过Ajax无刷新获取Action返回的模拟数据,然后通过struts2转化成json数据返回页面....这里面Map,List,对象等等,一些常用的操作都有。主要的代码在Action和 json.js里面。适合新手入门
一个简单的demo,实现了struts2+jquery执行ajax异步请求并返回json类型数据的实例,代码中附有注释,简单易懂。 基于eclipse开发,导入到eclipse即可运行。
Struts2返回JSON对象. 通过Struts2框架返回json对象,更好传递数据
Struts2+ajax+json返回list,并处理json返回为[object,object]的方法,Struts2配置
使用Struts2自带的json包返回json数据
NULL 博文链接:https://firezhfox.iteye.com/blog/1730549
介绍struts、ajax如何返回json数据 一首先引入Struts和json所需的jar包。 二编写页面 三编写action类 四Struts配置
主要实现步骤如下: 1、JSP页面使用脚本代码执行ajax请求 2、Action中查询出需要返回的数据,并转换为json类型模式数据 3、配置struts.xml文件 4、页面脚本接受并处理数据!
详细的解说Struts2返回JSON数据的具体应用范例
struts2所需的包和Struts2 json所需包,直接导进去就能用,很适合新手开发以及测试Struts2返回json格式的数据。
ajax struts 无刷新访问后台返回json数据,返回list、map,java类对象等json数据,前台js解析json数据,内有jar包,代码类。是一个完整的项目实例。
以下为大家介绍,关于struts返回对象json格式数据的方法,希望对有需要的朋友有所帮助。