2012-03-22 61 views
2

我使用Spring MVC和jQuery的自動完成,我的春天控制器看起來像這樣Spring MVC的使用jQuery自動完成不返回結果

@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 name="jsonNames" 
     class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" /> 

一切正常,我的自動完成的擊球控制,但響應不返回結果,我非常肯定,有一些錯誤的,我的Spring MVC控制器的方法,因爲如果我通過了源數組(具有一些預填充值)它的工作原理。

回答

1

幾件事情錯了/不充分的代碼片斷您提供:

  1. 的註釋@ResponseBody告訴Spring MVC中,該方法的返回值應該是填充作爲HTTP請求的響應。鑑於上述控制器方法,如果您點擊http://yourserver/context/searchit.htm,您可能會看到一個帶有「jsonNames」的html。因此刪除註釋。 (提示甚至在將此url與您的autosuggest掛鉤之前,請使用您的瀏覽器檢查url是否按預期響應)

  2. 如果您打算使用MappingJacksonJsonView,則應在Spring上下文Bean容器中定義一個BeanNameViewResolver bean。這個視圖解析器告訴Spring MVC,應該使用控制器方法返回的字符串來匹配在上下文中定義的bean名稱,在你的情況下「jsonNames」

  3. 當你有上述工作,即彈簧MVC bean配置正確,並且您的控制器正在返回JSON,您將不得不檢查返回的格式是否與您的前端自動建庫庫兼容,如果沒有,您在控制器中還有更多工作要做。

參考文檔,大部分的Spring MVC是非常簡單的http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html 希望這有助於。

+0

是的..它工作..很多很多 – Ashish 2012-03-27 19:23:34