Note: Use the object name when you use the Strtus-json-plugin serialization object property to configure the Includeproperties property under the result label. * or specify a property name in such a way that the object property name cannot be written.
Problem:
There are two properties in action: String result and users of list type. The two properties are serialized into a JSON string by Struts-json-plugin and returned to the client, configured as follows:
<Actionname= ""class= ""> <resultname= "Success"type= "JSON"> <paramname= "Includeproperties">result, users</param> </result> </Action>
With the above configuration, return to the client page can only see the value of result, the users display as {}, empty.
To modify the configuration:
<Actionname= ""class= ""> <resultname= "Success"type= "JSON"> <paramname= "Includeproperties">result, users\[\d+\]</param> </result> </Action>
The client page can get the value of result normally, but the users value is displayed as {{},{} ...}. Obviously, the value is not obtained correctly.
To modify the configuration:
<Actionname= ""class= ""> <resultname= "Success"type= "JSON"> <paramname= "Includeproperties">result, users\[\d+\].*</param> </result> </Action>
The value of result and users can be obtained normally.
You can also serialize only certain properties in the user object, such as serializing name only:
Users\[\d+\].name
Struts-json-plugin serialization of a configuration object in result