2012-09-09 52 views
0

我很疑惑爲什麼自動完成功能不起作用。這裏是在下面的的.jsp代碼的形式:爲什麼自動完成功能無法與JSON和SPRING一起使用MVC

<form:form method="post" action="save.html" modelAttribute="word"> 
    <table> 
     <tr> 
      <th>German word</th> 
      <td><form:input path="german" id="german" /></td> 
     </tr> 
     <tr> 
      <td colspan="2"><input type="submit" value="Save" /></td> 
     </tr> 
    </table> 
    <br /> 
</form:form> 

這裏是JavaScript函數(在相同的.jsp文件)

$(document).ready(function() { 
$("#german").autocomplete({ 
    source: '${pageContext. request. contextPath}/get_word_list.html' 
});  

});

,這裏是控制器的相關部分:

@Autowired 
private WordService wordService; 

@RequestMapping(value = "/goToDictionary", method = RequestMethod.GET) 
public ModelAndView index() { 

    Word word = new Word(); 
    return new ModelAndView("dictionary", "word", word); 
} 

@RequestMapping(value = "/get_word_list", method = RequestMethod.GET, headers = "Accept=*/*") 
public @ResponseBody 
List<String> getCountryList(@RequestParam("term") String query) { 
    System.out.println(query); 
    return getMatch(query); 
} 

public List<String> getMatch(String query) { 
    query = query.toLowerCase(); 
    List<String> matched = new ArrayList<String>(); 
    for (Word v : wordService.getAllWord()) { 
     if (v.getGerman().toLowerCase().startsWith(query)) { 
      matched.add(v.getGerman()); 
     } 
    } 
    return matched; 
} 

我知道肯定的getMatch(查詢字符串)被調用,並正常工作。 所以我想問題是在jsp上。文件

任何幫助,非常感謝。

回答

0

好的,我找到了解決方案。它位於spring-servlet.xml文件中。它沒有工作,因爲我沒有添加這個。

xsi:schemaLocation="ttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> 

我說,現在一切都OK

0

[用於JSON以填充列表] 也許您應該查看@RequestMapping註釋的produces屬性。它需要一個String []作爲值。自Spring 3.1.x版本以來可用。我目前使用3.1.2,我可以得到一些application/json沒有任何問題。

當然,您應該將產品添加到您所在國家/地區列表的數據提供者中。

[用於JavaScript填充列表] 也許部分$ {pageContext。請求。 contextPath}未被正確評估。您是否檢查了JSP的生成代碼與Firebug。

+0

我發現viralpatel博客的例子。雖然這個例子並不準確,但我仍然按照教程管理,autocomplet可以工作。現在我想將該教程應用到我的應用程序,並停止工作。當我將教程的內容複製到我的應用程序中時,更加奇怪的是,它停止工作。因此,作爲獨立應用程序運行的代碼停止工作,作爲我的應用程序的一部分。至於你的建議的最後部分$ {pageContext。請求。 contextPath}我確信這是事實,儘管我沒有在裏面偷看。 (我使用谷歌鉻) –

相關問題