2012-07-19 39 views
0

我是一個試圖在Spring MVC3應用程序中使用dojo文本框的後端開發人員。使用帶彈簧的dojo文本框mvc

頁面上有一個文本框和一個dojo數據網格。文本框用於捕獲搜索條件。當用戶在文本框中輸入值並單擊ENTER時,它應該觸發一個Spring控制器,它將根據數據網格中文本框中提供的條件進行搜索。

問題是

* 1。我如何在dojo中做到這一點,而不是純javascript。我不希望整個頁面被重新提交。

* 2。控制器如何檢索在文本框中輸入的值。他們必須作爲@ModelAttributes傳遞或作爲@RequestParam出現

回答

0

文本框用於捕獲搜索條件。當用戶在 文本框中輸入值,並點擊Enter鍵,它應該引發其將搜索基於文本框中提供的標準

上提交一個春天控制器 ,你需要火道場xhr.get()帶有映射Spring控制器的URL的AJAX調用。

var getAll = function (URL){ 
    var xhrArgs = { 
      url : URL, // e.g. localhost:8080/projectname/entity?param1=value1 
      handleAs : "json", 
      headers : { 
       "Content-Type" : "application/json" 
      } 
     }; 
    return dojo.xhrGet(xhrArgs); 
}; 

而在彈簧控制器中,您需要將此URL映射到一個方法。如果它是一個單一的價值來控制器@RequestParam將更好地使用

@RequestMapping(value = "/entity") 
     public List<Model> someMethod(@RequestParam("param1")String keyword) { 
} 
+0

Ravi,感謝您的迴應。我讀了更多關於dojo xhr的內容,並試圖理解爲什麼handleAs屬性必須被定義爲「json」。 – aprajitha 2012-07-21 04:18:00

+0

這可能是任何事情。我介紹了我的例子。它建議你如何處理來自服務器的響應。這取決於你的服務器以何種格式提供數據 – 2012-07-22 18:20:31

+0

謝謝Ravi。如果將響應作爲json處理,則會出現語法錯誤。即使作爲一個文本,xhrGEt沒有工作,雖然URL是正確的(並在粘貼在瀏覽器時工作)我已經提出這作爲一個單獨的[問題](http://stackoverflow.com/questions/11606200/spring-mvc3-與-dojogrid和 - xhrget) – aprajitha 2012-07-23 04:12:49