Chris, Maps are serialized as 'name : value' pairs, whereas Lists are serialized as Arrays. Change your return type to a List and try.
- Rahul From: "CRANFORD, CHRIS" <chris.cranf...@setech.com> To: <user@struts.apache.org> Date: 15-07-2010 19:04 Subject: Ajax Response - Array Objects I cannot seem to get my Ajax request to return to the Ajax client an array of objects. Instead of simply returning a key/value pair, I've read that it is possible to return the actual domain objects, but I have been unsuccessful. Each time, my combo box is populated with three values, "message type number". In the JSP I have: <sx:autocompleter href="%{customersUrl}" preload="true" name="customer" valueNotifyTopics="/CustomerChanged" forceValidOption="true" /> In the Struts configuration I have: <package name="ajaxpkg" namespace="/ajax" extends="json-default"> <action name="ajaxCustomersList" class="com.examples.struts2.action.JsonAction"> <result type="json"><param name="root">customersList</param></result> </action> </package> And finally in the Struts action I have: public Map<String,Object> getCustomersList() { // Get the customer data from the service layer List<Customer> customers = customerService.getAllCustomers(); // If no data was returned, return an empty collection // as the browser will display an empty list. if(customers == null) return new LinkedHashMap<String,Object>(); // Data was obviously returned, create new map and populate // the map with the customer ID as the key and the actual // customer object as the payload for each pair. Map<String,Object> json = new LinkedHashMap<String,Object>(); for(Customer customer : customers) { json.put(customer.getId().toString(), customer); } // Hand result back to Ajax client return(json); } Can anyone explain what I have missed here in my implementation and/or what needs to be corrected. Thanks, Chris --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you