jquery - Spring MVC 与 jquery 自动完成不返回结果

标签 jquery spring spring-mvc

我正在使用 Spring MVC 和 jquery 自动完成,我的 spring Controller 如下所示

@RequestMapping(value ="/searchit.htm", method=RequestMethod.GET)
    @ResponseBody
    protected String testIt(Model model){
        gsonutil = new GsonUtil<YBusiness>();
        String result = MyManager.search();     
        model.addAttribute("result",result);
        return "jsonNames";

    }

我的“jsonNames”bean 是这样配置的。

<bean name="jsonNames"
       class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />

一切工作正常,我的自动完成功能正在命中 Controller ,但没有返回响应结果,我非常确定我的 spring MVC Controller 方法有问题,因为如果我传递源数组(带有一些预填充值)它可以工作。

最佳答案

您提供的代码片段有一些错误/不足:

  1. @ResponseBody 注释告诉 Spring MVC 该方法的返回值应该填充为 HTTP 请求的响应。给定上述 Controller 方法,如果您点击 http://yourserver/context/searchit.htm你可能会看到一个写有“jsonNames”的 html。所以去掉注释。 (提示在使用自动建议 Hook 此网址之前,请使用浏览器检查该网址是否按预期响应)

  2. 如果您计划使用 MappingJacksonJsonView,则应在 Spring 上下文 bean 容器中定义 BeanNameViewResolver bean。这个 View 解析器告诉 Spring MVC,从 Controller 方法返回的字符串应该用于匹配上下文中定义的 bean 名称,在您的例子中为“jsonNames”

  3. 完成上述工作后,即正确配置 Spring MVC bean 并且 Controller 返回 JSON,您必须检查返回的格式是否与您的前端自动建议库兼容,如果不兼容,则有在 Controller 中还有一些工作要做。

引用文档,Spring MVC 的大部分内容非常简单 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html 希望这会有所帮助。

关于jquery - Spring MVC 与 jquery 自动完成不返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817927/

相关文章:

javascript - 为什么在 JavaScript 中有时需要 function()?

Jquery Scrollspy 需要刷新功能

java - 为什么Spring中的RequestMapping得到空值

javascript - Jquery slider - 无法填充 slider 中的所有方 block

javascript - 更改 HTML 内 &lt;script&gt; 的脚本数据位置

Java - 从 ResponseEntity 列表中获取一项

java - 如何将 Spring 4 与 Apache Tiles 3 集成?

java - @Async 与 Spring 3.0.6

java - 如何将 Spring MVC View 呈现为字符串

java - 即使映射是正确的,也没有 GET 的映射