2011-07-14 140 views
1

我們已經在我們的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; 
} 

這個工作在我們原來的Servlet版本中找到。然後我們通過在JSP上做一些工作將它部署到Liferay中,讓Liferay知道要發佈的URL是什麼。但是當我們運行它時,「命令」對象爲空。

我們看到「發送消息」日誌語句,並且我們驗證了沒有通過FireBug的JavaScript錯誤。因此,Liferay將其發佈到正確的URL,並且控制器正在運行,但未設置「command」參數。

任何想法正在發生什麼?

回答

0

也許嘗試

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

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

不太清楚...