struts-json-plugin result中配置对象的序列化

注意: 在使用strtus-json-plugin序列化对象属性,配置result标签下includeProperties属性时使用 对象名.*或则指定属性名的方式,不能光写对象属性名。

问题:

    action中有两个属性: String result 和 List类型的users。通过struts-json-plugin将这两个属性序列化成json字符串并返回到客户端,配置如下:

 

  <action name = "" class = "">

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

          <param name = "includeProperties">

       result , users 

      </param>

     </result> 

    </action>

 

通过上面的配置,返回到客户端页面仅仅能看到result的值,users显示为{},空。

修改配置:

 

   <action name = "" class = "">

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

          <param name = "includeProperties">

       result , users\[\d+\]

      </param>

     </result> 

    </action>

 

客户端页面可以正常获取result的值,但是users的值显示为{{},{}....}。显然,没有正确获取到值。

修改配置:

   <action name = "" class = "">

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

          <param name = "includeProperties">

       result , users\[\d+\].*

      </param>

     </result> 

    </action>

 

 

可以正常获取result和users的值。

 

也可以只序列化User对象中的某些属性,例如只序列化name:

  

users\[\d+\].name

 

posted @ 2015-09-30 18:02  Birding  阅读(324)  评论(0编辑  收藏  举报