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*)

Reply via email to