java - JQuery AutoComplete 与 Spring MVC 返回列表,但未过滤

标签 java jquery spring spring-mvc

我有一个 Spring 应用程序,我想在 JQuery 中实现自动完成功能。如果我有一个本地数组,它可以完美工作并在我在输入框中输入值时过滤列表。如果我将其更改为使用数据源,它会返回列表,但不会根据输入框的条目过滤列表。

我已多次阅读 Jquery UI 教程,并使用了位于 http://viralpatel.net/blogs/spring-3-mvc-autocomplete-json-tutorial/ 的示例。 和 http://blog.m1key.me/2011/10/jquery-ui-autocomplete-spring-mvc.html但我仍然找不到明确的答案,为什么本地数组值会自动过滤,但返回的列表却不会?

我可以通过在查询中过滤自己来使其工作,但由于它使用本地数组进行过滤,我认为它会对从数据库返回的列表执行相同的操作。

我做错了什么吗?数据库中的列表是否应该像本地数组一样进行过滤?

最佳答案

@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. 可选,将ContentType设置为application/json,具有@ResponseBody注释,Spring MVC调用基于Jackson JSON处理器构建的MappingJacksonHttpMessageConverter。当您使用 mvc:annotation-driven 配置元素且 Jackson 出现在类路径中时,此实现会自动启用。

关于java - JQuery AutoComplete 与 Spring MVC 返回列表,但未过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658924/

相关文章:

java - Hibernate实体只有一列,没有名字

spring - InvalidDataAccessResourceUsageException : Unexpected cursor position change

java - 如何使用 Spring Data JpaRepository 在所有列中查找字母

java - 如果测试未完成则运行方法

Java - 循环遍历数据库记录的有效方法

java - 无论我使用什么元素查询类型,Selenium 程序都会返回 NoSuchElementException?

java - 如何将原始 HTML 从 java spring Controller 传递到 jsp View

javascript - 如何避免PHP中的警告框

jquery - ASP.NET MVC 中带有复选框的 DropDown(组合框)

javascript - 一个形成两个 Action 取决于哪个按钮?