You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (JIRA)" <ji...@apache.org> on 2013/11/20 06:51:23 UTC
[jira] [Closed] (WW-4246) Struts 2 JSON interceptor for Custom Maps
[ https://issues.apache.org/jira/browse/WW-4246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukasz Lenart closed WW-4246.
-----------------------------
Resolution: Not A Problem
Assignee: Lukasz Lenart
Please ask such questions on Struts Users Mailing List <us...@struts.apache.org>
> Struts 2 JSON interceptor for Custom Maps
> -----------------------------------------
>
> Key: WW-4246
> URL: https://issues.apache.org/jira/browse/WW-4246
> Project: Struts 2
> Issue Type: Improvement
> Components: Plugin - JSON
> Affects Versions: 2.2.3.1
> Reporter: hemantvsn
> Assignee: Lukasz Lenart
> Priority: Critical
>
> I have following POJO's
> {code:java}
> public class Category {
> private Integer id;
> private String title;
> private String description;
> //many more attributes below
> }
> public class User {
> private Integer id;
> private String name;
> private String address;
> //many more attributes below
> }
> public class MyAction extends ActionSupport {
> //list of objects
> List<Category> categories;
> //Complex Map
> private Map<Category, List<User>> categorizedUsers;
> //getters and setters
> @Override
> public String execute() {
> //populate "categories" and "categorizedUsers" with some business logic
> return SUCCESS;
> }
> }
> {code}
> I make an AJAX call for this action and expect the data (ie "categories" and "categorizedUsers") in JSON format. Struts2 provides us with JSON interceptor where I can specifically filter the parameters to be serailized.
> Following is configuration in struts xml file
> {code:xml}
> <action name="mywidget" class="com.struts.action.MyAction">
> <result type="json">
> <param name="includeProperties">
> ^categories\[\d+\]\.id,
> ^categories\[\d+\]\.title,
> </param>
> </result>
> </action>
> {code}
> Both the POJOS contain a lot of attributes, but with "includeproperties", I was able to filter out id and title for each Category in the LIST.
> However for the map key as well as value, Im unable to apply any such regex pattern to filter out desired attributes. (Lets say for the map key (Category), I need id and title, whereas for each Value (User), I need to filter out id, name only). Please suggest appropriate regex pattern to be applied on the Map<Category, List<User>>.
--
This message was sent by Atlassian JIRA
(v6.1#6144)