2012-07-25 68 views
1

我有一個Spring應用程序,我想在JQuery中實現自動完成功能。如果我有一個本地數組,它可以很好地工作,並在輸入框中輸入值時過濾列表。如果將其更改爲使用數據源,它將返回列表,但不會根據輸入框的條目篩選列表。JQuery AutoComplete with Spring MVC返回列表但未篩選

我已經閱讀了jQuery UI的教程很多次,已經使用位於http://viralpatel.net/blogs/spring-3-mvc-autocomplete-json-tutorial/http://blog.m1key.me/2011/10/jquery-ui-autocomplete-spring-mvc.html的例子,但我爲什麼得到自動過濾本地陣列值,但返回的列表不仍然無法找到一個明確的答案?

我可以通過在我的查詢中過濾自己來得到它的工作,但由於它使用本地數組進行過濾,我認爲它會對從數據庫返回的列表執行相同的操作。

我做錯了什麼?數據庫中的列表是否應該按照與本地數組相同的方式進行過濾?

+0

請張貼您的代碼。沒有它,很難說有什麼不對。 – rjsang 2012-08-30 00:01:15

回答

0
@RequestMapping(value = "/getProductAutoCompleteList.do", method = RequestMethod.GET, headers="Accept=*/*") 
    public @ResponseBody List<String> getProductAutoComplete(@RequestParam("term") String prodName, HttpServletResponse response){ 
     logger.info("getProductAutoCompleteList called with parameter: " + prodName); 
     response.setStatus(HttpServletResponse.SC_OK); 
     final List<String> productList = ProductSearchHelper.getProductAutoCompleteList(prodName); 


     response.setContentType("application/json"); 
     return productList; 
    } 

確保您

  1. 指定response.setStatus(HttpServletResponse.SC_OK);
  2. 可選,setContentType作爲application/json,具有@ResponseBody註解,Spring MVC調用在Jackson JSON處理器上構建的MappingJacksonHttpMessageConverter。當您在類路徑中使用Jackson存在的mvc:annotation-driven配置元素時,會自動啓用此實現。