java - 带选择框的 Struts2 jQuery 自动完成器

标签 java json jsp struts2 struts2-jquery

我为我的 Struts 2 应用程序使用了 Struts2 jQuery autocompleter

这是我的代码:

JSP:

 <s:form id="frm_demo" theme="simple" action="ManagersAutoCompleter1">
        <s:url var="remoteurl" action="test" />
    <sj:autocompleter href="%{remoteurl}" id="echo3" name="echo"
        list="itemList" listKey="id" listValue="name" emptyOption="true"
        headerKey="-1" headerValue="Please Select a Language" selectBox="true" />

        <s:submit value="submit" />
    </s:form>

Struts.xml:

<action name="test" class="test.TestAction" method="populate">
  <result type="json">
  </result>
</action>

Action 类:

 public String populate() throws Exception {

        itemList = new ArrayList<ListValue>();
        itemList.add(new ListValue("Php", "Php"));
        itemList.add(new ListValue("Java", "Java"));
        itemList.add(new ListValue("Mysl", "Mysl"));
        return SUCCESS;
    } //getter setter for itemList

列表类:

public class ListValue {
    private String id;
    private String name;

    public ListValue(String id, String name) {
        this.id = id;
        this.name = name;
    } //getter setter methods

但是这个 Struts2 jQuery autocompleter 不工作。它不填充任何值。

最佳答案

做这个

<s:url id="remoteurl" action="test"/>
<sj:select 
     id="customersjsonlstid" 
     name="echo"
     label="Handle a List"
     href="%{remoteurl}" 
     list="itemList"
     listValue="name" 
     listKey="id" 
     autocomplete="true"  
     loadMinimumCount="2" 
     id="echo3"/>

代替这个:

<sj:autocompleter href="%{remoteurl}" id="echo3" name="echo"
list="itemList" listKey="id" listValue="name" emptyOption="true"
headerKey="-1" headerValue="Please Select a Language" selectBox="true" />

并确保您从操作类中返回列表。 要检查这一点,请使用您的 IDE 调试器或 System.out.print 等。

ex...


    -------------
    ------------
    itemList.add(new ListValue("Mysl", "Mysl") );
    System.out.println("Size of my list="+itemList.size());
    return SUCCESS;
}

你还应该在你的 Action 类中定义 getter 和 setter

private List itemList; 
    public List getItemList() {
    return itemList;
} 

public void setItemList(List itemList) {
    this.itemList = itemList;
}

关于java - 带选择框的 Struts2 jQuery 自动完成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153943/

相关文章:

java - 对垃圾收集感到困惑

java - 如何读取 HTTP POST 请求返回的 XML?

android - 改造:向android中的服务器发送POST请求

javascript - 从文件中读取json数据

javascript - session 到期时自动重定向

java - builder 设计模式的缺点

java - 使用tomcat时如何将文件保存在客户端电脑而不是服务器电脑上

javascript - (打包的Chrome应用程序)chrome.identity.getAuthToken需要manifest.json中的 "key"

java - 使用 EL 迭代存储在数组中的复选框值

java - 使用jsp以表格格式显示csv文件数据