Пустой командный объект с Ajax в Liferay и Spring MVC - PullRequest
1 голос
/ 14 июля 2011

В нашем JSP есть следующий вызов Ajax:

$.postJSON("${sendStatus}", command,     
      getData(data),
 { error: onError }
);

И метод в нашем контроллере выглядит так:

@ActionMapping(params = "action=/status")
public @ResponseBody
   Status sendMessage(@RequestParam("command") final MyCommand command) {

      logger.info("sending message");
      final Status status = sender.sendMessage(
        MyCommand.getProperties(), command.getMessage());
      return status;
}

Это сработало в нашей оригинальной версии сервлета. И затем мы развернули его в Liferay с небольшой работой над JSP, чтобы сообщить Liferay, что такое URL для публикации. Но когда мы его запустим, объект «команда» будет нулевым.

Мы видим оператор лога «отправка сообщения», и мы убедились, что в FireBug нет ошибок JavaScript. Поэтому Liferay отправляет его по правильному URL-адресу, и контроллер работает, но параметр «command» не задан.

Есть идеи, что происходит?

1 Ответ

0 голосов
/ 14 июля 2011

Может быть попробовать

$.post("${sendStatus}", {command:command}, 

или

$.post("${sendStatus}?command="+command, null, 

Не совсем уверен ...

...