关于struts返回对象json格式数据的方法

Java教程 2025-08-08

想在struts中返回一个对象的json数据,通过定义

复制代码代码如下:

< action name="getUserByName" method="getUserByName" >

< result name="success" type="json" >

userInfo

< /result >

< /action >

结果返回的是整个action类的所有成员变量的json数据。要想返回userInfo对象的数据,需要将返回参数定义为root对象

复制代码代码如下:

< action name="getUserByName" method="getUserByName" >

< result name="success" type="json" >

< param name="root" >

userInfo

< /param >

< /result >

< /action >

下面是返回各种json数据的定义

复制代码代码如下:

< !-- 封装所有的get开头的方法 -- >

< result type="json" name="user" >

< /result >

< !-- 只包含user.id属性 -- >

< result type="json" name="user" >

< param name="includeProperties" >

user/.id

< /param >

< /result >

< !-- 返回user的JSON List列表,其中userInfosList是action中的一个List类型的属性,userInfosList /[/d+/]/. userName表示,userInfosList中存储的对象0..end的userName属性(list中存储的对象必须有userName属性)

-- >

< result name="success" type="json" >

< param name="includeProperties" >

userInfosList/[/d+/]/.userName,userInfosList/[/d+/]/.password

< /param >

< /result >

< !-- 不包含user属性 -- >

< result type="json" name="list" >

< param name="excludeProperties" >

user

< /param >

< /result >

< !-- 根对象只包含user -- >

< result type="json" >

< param name="root" >

user

< /param >

< /result >

< !-- "root"对象中父类的field(属性)不会(会?) 默认存放到 JSON数据中,如果不想这样做,需要在配置时指定 ignoreHierarchy 为 false: -- >

< result type="json" >

< param name="ignoreHierarchy" >false< /param >

< /result >