记录struts2 json plugin 对字符串数组类型的处理

当前项目中,一开发人员在action中定义了一个字符串数组类型的属性,需要以json格式返回到页面(先不论这种设计是否最优),

结果在做页面调试时发现总是无法在ajax的success方法中获取到该属性。后台action调试发现该数组已经正确赋值,get

方法也没有问题,action相关代码如下:

private String[] traceList;

private String unitName;

。。。

public String queryTrace(){

    unitName = “testName”;
    traceList=tranManager.getTraceList(traceNO);
    return "queryTrace";
}
。。。

public String getUnitName() {
    return unitName;
}

public String[] getTraceList() {
    return traceList;
}

在struts配置文件中对应的action配置添加了如下配置:

<result name="queryTrace" type="json">
    <param name="includeProperties">traceList,unitName</param>
</result>

在ajax的成功回调方法获取到traceList对象总是空数组,查看struts2手册发现,

struts json plugin的result中声明的includeProperties,对字符串数组或者原始类型数组的声明方式,应该如下:

<result name="queryTrace" type="json">
    <param name="includeProperties">^traceList\[\d+\],unitName</param>
</result>

另外还需注意一点,如果同时使用了excludeProperties和includeProperties,发生冲突时,前者优先级高于后者。

给大家个struts官方文档的
连接

时间: 2024-10-25 04:48:07

记录struts2 json plugin 对字符串数组类型的处理的相关文章

Jmeter之JSON提取器获取数组类型的数据

前言 在之前,我们已经学会了Jmeter的JSON提取器提取某个数据,还没掌握的小伙伴可以翻看我之前写的随笔Jmeter之JSON提取器,今天我们来学习一下怎么利用JSON提取器获取数组类型的数据,多用于列表信息数据的获取. 本章知识考察点 jsonpath方式获取的值 单个值怎么获取? data.files[索引].filed 多个指定的值怎么获取? data.files 0与-1的设置有什么区别? 0表示随机值,-1表示所有的值 一:先添加登录http请求,然后再添加获取文件列表http请求

判断Json字符串返回类型 对象 或者 数组

public enum JSON_TYPE { /** * JSONObject */ JSON_TYPE_OBJECT, /** * JSONArray */ JSON_TYPE_ARRAY, /** * 不是JSON格式的字符串 */ JSON_TYPE_ERROR } /*** * * 获取JSON类型 * 判断规则 * 判断第一个字母是否为{或[ 如果都不是则不是一个JSON格式的文本 * * @param str * @return */ public static JSON_TYPE

mybatis 处理数组类型及使用Json格式保存数据 JsonTypeHandler and ArrayTypeHandler

mybatis 处理数组类型及使用Json格式保存数据 JsonTypeHandler and ArrayTypeHandler mybatis 比 ibatis 改进了很多,特别是支持了注解,支持了plugin inteceptor,也给开发者带来了更多的灵活性,相比其他ORM,我还是挺喜欢mybatis的. 闲言碎语不要讲,今天研究了下mybatis的typeHandler: 先看这样一张表(postgresql) create table user ( id serial not null

字符串集合或字符串数组转换成json数组

字符串可以是List<String>类型的字符串集合,也可以是String[]类型的字符串数组,二者转换成JSON数组的方式没有什么不同.下面代码注意关键的部分即可(画红线部分). 1. List<String>类型的字符串集合转换成JSON数组,如下所示: List<String> shotLst = ecsDao.selectShotInstanceData4Ali(requestShotMap); JSONArray shotrray = JSONArray.fr

json对象与字符串的相互转换,数组和字符串的转换

1.json对象转换为字符串 JSON.stringify(value [, replacer] [, space])  var student = new Object(); student.id = "001"; student.name = "程陈"; student.age = "18"; var str = JSON.stringify(student); //{"id":"001","

struts2,json,ajax整合内容记录

使用ssh三大框架整合时关于struts2,json,ajax整合内容记录.这里写主要部分代码 action部分: 注意事项,action部分的返回值要有set和get方法,否则会报错. package com.hcj.action; import net.sf.json.JSONObject; import com.hcj.dto.User; import com.hcj.service.UserService; import com.opensymphony.xwork2.ActionSup

oracle学习之路(二)------数组类型/记录类型的使用

Oracle记录类型介绍 RECORD:用户自定义数据类型,由单行多列的标量构成的复合数据类型,它将一个或多个标量封装成一个对象进行操作记录不可以总体拿来比较也不可以整体判断为空,可以整体拿来赋值,组成类似于多维数组, 将一个或多个标量封装成一个对象进行操作.是一种临时复合对象类型. 记录的创建和赋值 定义记录类型语法如下: TYPE record_name IS RECORD( v1 data_type1 [NOT NULL] [:= default_value ], v2 data_type

关于数组类型的json解析方法

遇到了很奇葩的数组类型的json,一时解析不出来,用jsonObject会直接报错. Json数据如: [{"id":"1000142","name":"\u5168\u90e8\u7c7b\u578b","subMenu":[{"id":"1000135","name":"\u591a\u5a92\u4f53\u8bbe\u8ba1&q

SpringMVC表单或Json中日期字符串与JavaBean的Date类型的转换

SpringMVC表单或Json中日期字符串与JavaBean的Date类型的转换 场景一:表单中的日期字符串和JavaBean的Date类型的转换 在使用SpringMVC的时候,经常会遇到表单中的日期字符串和JavaBean的Date类型的转换, 例如,如下代码S_ROLE_QO这个bean中包含有Date类型属性,不处理就拿不到值. /** * 分页取角色列表 * @param s_ROLE_QO 角色查询条件 * @return */ @RequestMapping(value = "/