0

オートコンプリートが機能しない理由に戸惑います。以下の.jspコードのフォームは次のとおりです。

<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(String query)が呼び出され、正しく機能することは確かです。したがって、問題はjspにあると思います。ファイル

どんな助けでも大歓迎です。

4

2 に答える 2

0

OK、解決策を見つけました。これはspring-servlet.xmlファイルにあります。これを追加できなかったため、機能しませんでした。

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

追加しましたが、今はすべて問題ありません

于 2012-09-09T20:20:59.697 に答える
0

[JSONがリストを埋めるために]おそらく、アノテーションのproducesプロパティを確認する必要があります。@RequestMapping値としてString[]を取ります。Spring3.1.xバージョン以降で使用できます。私は現在3.1.2を使用していますが、application/json問題なく入手できます。

そしてもちろん、あなたはあなたの国のリストのデータプロバイダーに農産物を追加する必要があります。

[JavaScriptがリストを埋めるために]多分${pageContextの部分。リクエスト。contextPath}が正しく評価されていません。たとえばFirebugを使用して、JSPの生成されたコードの内部を確認しましたか。

于 2012-09-09T14:02:51.520 に答える