I'm having a problem using <s:action executeResult="true"> with an action whose result type is json. It doesn't insert the results. My Action is something like:
public class InitCalendarAction { private List<List<String>> json; /** * Get the JSON Object to be Serialized * * @return JSON Object */ public Object getJson () { return json; } //getJson /** * Prepare the Object to be Serialized using JSON * * @return "success"; */ public String execute () { Category cat; Category[] daily = user.getPlan().getDailyCategories(); Calendar cal = Calendar.getInstance(); cal.set(Calendar.DATE,1); int first = cal.get(Calendar.DAY_OF_WEEK) - 1; List<String> row; json = new ArrayList<List<String>>(); for(int day = 1;day <= cal.getMaximum(Calendar.DATE);day++) { row = new ArrayList<String>(); row.add("true"); cat = daily[(day + first) % 7]; row.add(cat.name().toLowerCase()); row.add(cat.name()); json.add(row); } return "success"; } //execute } //*InitCalendarAction I have the action defined as: <action name="init-calendar" class="initCalendarAction"> <result type="json"> <param name="root">json</param> </result> </action> In my JSP, I have: var hilights = "<s:action name='init-calendar' namespace='/' executeResult='/'/>"; But instead of the expected: var hilights = "[ [ "true", "cardio", "Cardio"], [ "true", "upperbody", "Upper Body"] ... ]"; I get: var hilights = ""; There are no errors in the logs and when I write out each row in the array, everything is there as expected, but there's just no output. Any idea's why? (*Chris*)