我需要使用Struts2-JQuery插件实现一个Auto complete Utility

时间:2010-09-23 13:21:28

标签: jquery string autocomplete struts2 string-matching

为此目的有一个内置标签。

用户在文本框中输入一个字符,以输入字符开头的字符串应显示在 列表的形式。 从列表中选择的项目应填充在文本框中。

P.S:示例和演示可用显示包含输入字符的字符串。但是我只希望显示那些字符串 以输入的字符开头。

2 个答案:

答案 0 :(得分:1)

执行此操作的方法显示在pluguin的wiki page中,其中显示:处理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中的示例代码,然后尝试一下。

答案 1 :(得分:0)

我使用Struts2和Jquery创建了自己的自动完成实用程序,它从oracle读取数据并显示建议列表,您可以根据需要进行相应更改。请从这里下载代码http://javaant.com/dynamic-autocomplete-using-jquery-struts2-and-oracle/#.V0RxL5N96Hs