【问题标题】:Could not get autocompletion on a struts2 jquery json autocompleter tag无法在 struts2 jquery json 自动完成器标签上获得自动完成功能
【发布时间】:2012-10-15 20:43:41
【问题描述】:

我目前将可能使用简单列表的自动完成器更改为 json 之一,以便能够链接它们。

我从我的操作中定义了一个 json 输出(从我的 struts.xml 中提取):

<action name="listCompanies" class="web.action.SearchAction" method="getCompaniesAction">
<result type="json">
  <param name="root">companies</param>
</result>
</action>

链接到代码(SearchAction 的摘录):

   public String getCompaniesAction() throws Exception{
  if (term!=null && term.trim().length()>1) {
    companies=new ArrayList<KeyValuePair>();
    IServiceReferential serviceReferential = (IServiceReferential)getService(IServiceReferential.class);
    List<ICompany> listDaoCompanies =
        serviceReferential.getCompanies(getUserLoginSession(),term);

    for (Iterator<ICompany> it = listDaoCompanies.iterator(); it.hasNext();){
        ICompany company = (ICompany) it.next();
        companies.add(new KeyValuePair(company.getId().toString(), company.getCompanyname()));
    }
  }
  return SUCCESS;
}

听起来效果很好:当我询问 json 操作时,它会起作用并返回: [{"key":"1","value":"Comp1"},{"key":"2","value":"Comp2"}]

jsp 中的自动完成标签看起来像:

<s:url id="url_companies" action="listCompanies" />
<sj:autocompleter size="1" name="selectCompany" href="%{url_companies}" list="companies" listKey="key" listValue="value" delay="100" loadMinimumCount="2"  onSelectTopics="/autoCompanyChange"/>

它很好地触发了 json 动作,但文本框从不建议我完成。

感谢您的帮助。

【问题讨论】:

    标签: java jquery json autocomplete struts2


    【解决方案1】:

    您需要从自动完成程序中删除 list="companies" 属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      • 2011-11-24
      • 2012-09-22
      • 1970-01-01
      相关资源
      最近更新 更多