我打算從平面jsp頁面使用Ajax調用控制器的表單提交,我想從控制器返回一個哈希表到jsp頁面,我可以迭代顯示值的hashmap。從控制器使用春季Ajax調用獲取地圖
如果我在響應中發送消息,我可以在ajax函數中獲得成功:但如何獲取整個地圖。因爲如果你甚至設置了request屬性,你就不能在jsp頁面中獲得它。很好的幫助。
我打算從平面jsp頁面使用Ajax調用控制器的表單提交,我想從控制器返回一個哈希表到jsp頁面,我可以迭代顯示值的hashmap。從控制器使用春季Ajax調用獲取地圖
如果我在響應中發送消息,我可以在ajax函數中獲得成功:但如何獲取整個地圖。因爲如果你甚至設置了request屬性,你就不能在jsp頁面中獲得它。很好的幫助。
在您的控制器的方法上使用@ResponseBody註釋。對於例如爲:
@RequestMapping(value = "/yourAjaxRequestUrl", method = RequestMethod.POST)
public
@ResponseBody
Map<String, Object> performOperation(@RequestParam("someParam") String someParam) {
//Do something
return Collections.<String, Object>singletonMap("yourObject", yourObject);
}
這將返回JSON格式的對象,在地圖中的所有對象,然後可以通過JavaScript訪問。
我認爲你的服務器端代碼與你的客戶端代碼混淆。 AJAX是客戶端,JSP是服務器端。你無法在兩者之間傳遞數據。
當您進行AJAX調用時,JSP已經完成執行,並且它生成的標記存在於瀏覽器中,包括您的AJAX代碼。
如果您的Spring Controller正在返回JSON(也許您將Map代表爲JavaScript關聯數組),那麼您可以使用jQuery遍歷該數組並根據其內容創建動態HTML元素。