0

この目的のために組み込みのタグがあります。

ユーザーがテキストボックスに文字を入力すると、入力した文字で始まる文字列がリスト形式で表示されます。リストから選択されたアイテムは、テキストボックスに取り込まれます。

PS: 使用可能な例とデモでは、入力された文字を含む文字列が表示されます。しかし、入力した文字で始まる文字列のみを表示したいのです。

4

2 に答える 2

1

これを行う方法は、プラグインのwikiページに示されています。JSON結果を処理するオートコンプリート。そのコードをjspに設定するだけで、アクションに次のようなものを実装できます。

    private static String[] staticLanguages = { ...a list... };                                                                                      
    private String term;
    private String[] languages  = Autocompleter.staticLanguages;
    public String execute() throws Exception {
            if (term != null && term.length() > 1)
            {
                    ArrayList<String> tmp = new ArrayList<String>();
                    for (int i = 0; i < staticLanguages.length; i++)
                    {
                            if (StringUtils.contains(staticLanguages[i].toLowerCase(), term.toLowerCase()))
                            {
                                    tmp.add(staticLanguages[i]);
                            }
                    }
                    languages = tmp.toArray(new String[tmp.size()]);
            }
            return SUCCESS;
    }

StringUtils.contains行を変更し、代わりに先頭が同じかどうかを確認してください。

jspタグは次のようになります。

<sj:autocompleter 
    name="term"
    id="languages" 
    href="%{remoteurl}" 
    delay="50" 
    loadMinimumCount="2"
/>

これでうまくいくと思います。wikiのサンプルコードを見て、試してみてください。

于 2010-09-23T21:04:54.347 に答える
0

Oracleからデータを読み取り、提案リストを表示するStruts2とJqueryを使用して、オートコンプリート用の独自のユーティリティを作成しました。要件に応じて変更できます。ここからコードをダウンロードしてくださいhttp://javaant.com/dynamic-autocomplete-using-jquery-struts2-and-oracle/#.V0RxL5N96Hs

于 2016-05-24T15:28:37.723 に答える