我很疑惑爲什麼自動完成功能不起作用。這裏是在下面的的.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上。文件
任何幫助,非常感謝。
我發現viralpatel博客的例子。雖然這個例子並不準確,但我仍然按照教程管理,autocomplet可以工作。現在我想將該教程應用到我的應用程序,並停止工作。當我將教程的內容複製到我的應用程序中時,更加奇怪的是,它停止工作。因此,作爲獨立應用程序運行的代碼停止工作,作爲我的應用程序的一部分。至於你的建議的最後部分$ {pageContext。請求。 contextPath}我確信這是事實,儘管我沒有在裏面偷看。 (我使用谷歌鉻) –