关于使用struts2-json-plugin 插件,Json返回List对象数据为空解决方案

今天的项目的时候需要服务器通过返回Json对象传递数据,Json中的数据是一个List对象,List中是一堆自定义Message对象。但是在返回的时候接收到的却是空数据.

浏览器返回结果

{"result":[]}

返回的List中肯定是有数据的,后台测试list的长度大于1。

struts2.xml中的配置为(这里的result为action中指定的list返回结果)

<!-- 获取所有种类 -->
		<action name="getAllVarietiesAction" class="com.hcj.action.database.GetAllVarietiesAction">
		 	<result type="json" name="success">
                <!-- 这里指定将序列化list中的那些属性 -->
                <param name="includeProperties"><span style="color:#ff0000;">result</span></param>
			</result>
		 </action>

action中为

package com.hcj.action.database;

import java.util.List;

import com.hcj.model.User;
import com.hcj.service.UserService;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

//获取所有
public class GetAllVarietiesAction extends ActionSupport {
	private UserService userService;

	
	private List<String> result;
	
	public  List<String> getResult() {
		return result;
	}


	public void setResult(List<String> result) {
		this.result = result;
	}


	public UserService getUserService() {
		return userService;
	}


	public void setUserService(UserService userService) {
		this.userService = userService;
	}
	

	@Override
	public String execute() throws Exception {
		result = userService.getAllVarieties();
		System.out.println("查询结果为" + result.get(1));
		return SUCCESS;
	}
}

后查询了资料后,只要将strut2.xml做如下修改就可得到正确结果

 <!-- 获取所有种类 -->
		 <action name="getAllVarietiesAction" class="com.hcj.action.database.user.GetAllVarietiesAction">
		 	<result type="json" name="success">
                <!-- 这里指定将序列化list中的那些属性 -->
                <param name="includeProperties">result.*</param>
			</result>
			
		 </action>



最终浏览器返回结果为

{"result":["puer_tea","green_tea"]}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值