2013-02-21 40 views
1

我正在嘗試爲我們正在構建的網頁實現一些客戶端記錄。這個想法是針對客戶端的一些特定的錯誤事件,當服務器端沒有返回一些關鍵信息(頁面上的信息是從多個服務聚合的)時會發生這些事件。如何從MVC控制器方法中的HTTP Post方法提取數據?

在我的客戶端的JavaScript,我有:

$.ajax({ 
    url: 'MyURL', 
    type: 'POST', 
    data: 'MyErrorMessage', 
}); 

而我的服務器端控制器上,我想有:

@RequestMapping(value = "MyURL", method = RequestMethod.POST) 
protected ModelAndView logErrorMessages(String errorMessage) 
{ 
    /* Log the error message using the server side logging framework */ 
} 

現在,我不完全知道如何訪問控制器中的錯誤消息字符串。我嘗試了上面的方法,String是'null'。我考慮的另一種方法是將錯誤消息字符串作爲@RequestParam放入請求URL中,如此處所定義的:here。 但是我對此做了些微小的調整,因爲我覺得消息不應該是URL參數的一部分。我確信我錯過了一些非常明顯的東西(比如創建一個錯誤消息對象作爲'模型'的一部分或類似的東西),但我的問題是我是MVC和Web開發領域的新手,並沒有看過在模型/視圖代碼中,只有'控制器'代碼。任何可以讓我走上正確軌道的提示非常感謝。

回答

0

使用@ModelAttribute註解:

客戶端

數據: 「錯誤= '系統錯誤'」 ...

服務器端

logErrorMessage(@ModelAttribute(名=「error」)字符串errorMessage ...

相關問題