`
chinrui
  • 浏览: 98064 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

如何指定struts2返回我们需要的json类型数据?

阅读更多

如何指定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数据的方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,尤其是在AJAX请求中。Struts2提供了一套方便的机制来支持JSON...

    struts2返回json

    Struts2是一个非常流行的Java Web框架,...以上就是关于Struts2返回JSON数据类型的基本介绍和实现步骤。通过这些步骤,你可以轻松地在Struts2应用中实现从服务器向客户端传递JSON数据,从而提升Web应用的交互性和性能。

    Struts2返回JSON对象的方法总结完整实例

    而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持。但是,在开发工作中,对功能的升级是基于既定... Struts2返回JSON有两种方式:1.使用Servlet的输出流写入JSON字符串;2.使用Struts2对JSON的扩展。

    struts2返回json数据的方法一 使用json-default

    本篇文章将详细讲解如何在Struts2中使用“json-default”拦截器来返回JSON数据。 首先,我们需要理解Struts2的拦截器(Interceptor)机制。拦截器是Struts2框架的核心组件之一,它们在Action执行前后执行特定的任务...

    struts2+json

    最后,前端JavaScript代码会接收到返回的JSON数据,并根据需要更新DOM(Document Object Model)。 总的来说,"struts2+json"资源涉及到了Struts2框架中的Action设计、拦截器机制、结果类型的配置,以及AJAX和JSON...

    使用Struts2的JSON插件来实现JSON数据传递

    Struts2的JSON插件正是为了方便开发者在Struts2框架中处理JSON数据而设计的。 首先,让我们深入了解JSON。JSON是一种独立于语言的数据交换格式,具有易于人阅读和编写,同时也易于机器解析和生成的特点。它的数据...

    AJAX 想Struts2后台传送Json数据并向前台返回Json格式的数据

    4. 返回JSON数据:在Action的execute方法中,创建一个Map或自定义的Java对象,然后将其转化为JSON对象,最后通过ActionContext返回JSON结果。 **示例代码**: ```javascript // 前端Ajax请求 $.ajax({ url: '...

    Struts2使用Annotation返回Json

    本篇文章将深入探讨如何在Struts2中通过注解实现返回JSON数据的功能。 首先,让我们理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Web应用中...

    struts2+jquery执行ajax并返回json类型数据(源码)

    在这个"struts2+jquery执行ajax并返回json类型数据"的示例中,我们将探讨如何通过Ajax技术在后台Struts2框架与前端jQuery库之间交换JSON格式的数据。 首先,Struts2是一个强大的MVC(Model-View-Controller)框架,...

    使用struts2 和ajax进行传递json数据

    当Struts2处理完请求并返回JSON数据后,Ajax回调函数会接收到这些数据,然后可以动态更新DOM元素,实现页面的局部刷新。 **注意事项** 1. 在Struts2中,确保已经添加了JSON插件,如struts2-json-plugin,以便支持...

    struts2返回json数据用query在页面接收

    在本场景中,我们将探讨如何在Struts2中返回JSON数据,并在页面上使用jQuery库的`$.ajax`或`$.getJSON`方法来接收和处理这些数据。 首先,我们需要在Struts2中配置JSON结果类型。在`struts.xml`配置文件中,添加一...

    struts2 action 返回json方法(一)源码

    在Action类中,我们需要创建一个返回JSON数据的方法。这个方法通常会设置模型驱动对象(ModelDriven)或值栈(ValueStack)中的属性,这些属性将在JSON响应中暴露。例如: ```java public class MyAction extends...

    JQuery发送Ajax请求Struts2,并返回JSON的例子

    当服务器返回JSON数据时,前端的`success`回调函数会被调用,可以解析并使用这些数据。例如,上面的代码会将JSON对象打印到控制台。 这个例子中的`MovieProject`可能是一个完整的项目,包含HTML页面、jQuery脚本、...

    android接收json例子struts2Action返回json格式数据

    在Android开发中,与服务器进行数据交互是常见的...而`Struts2_JSON_Demo`可能是一个Struts2的项目,实现了返回JSON数据的Action。通过这两个示例,你可以更直观地学习和理解Android与Struts2之间JSON数据交换的过程。

    struts2向服务器返回json信息

    本示例主要探讨如何在Struts2框架中实现从服务器向客户端返回JSON数据。 首先,让我们了解JSON的基本结构。JSON是一种数据交换格式,它以键值对的形式存储数据,类似于JavaScript对象。例如: ```json { "name": ...

    struts2与json整合

    为了返回JSON数据,可以定义一个如下的Action方法: ```java public String getXxx() { return "aaa"; } ``` 当客户端调用此方法时,Struts2会自动将返回值 `"aaa"` 转换成JSON格式,即`{"xxx":"aaa"}`,发送回...

    Struts2 与Jquery Ajax的json数据交换的典型范例

    总结,Struts2和jQuery的Ajax JSON数据交换涉及以下几个关键步骤:配置Struts2的JSON插件,编写返回JSON数据的Action,使用jQuery发起Ajax请求并处理返回的JSON数据。通过这种方式,可以实现客户端与服务器之间的...

    Struts2+Json+Android简单实现

    在Struts2中,我们可以配置Action类返回JSON类型的结果,这样当客户端(如Android应用)发起请求时,服务器会返回JSON格式的数据。这些数据可以包含对象、数组、字符串、数字等多种类型,非常适合移动设备上的数据...

    json2+jsonplugin struts2整合ajax时,使用json时需要的jar包

    2. **Action类的配置**:为了返回JSON响应,你的Action类需要返回一个特定的结果类型,例如`json`: ```java public class MyAction extends ActionSupport { // ... public String execute() { // ... return...

Global site tag (gtag.js) - Google Analytics