jquery - ejemplo - Autocompletar un cuadro de texto usando sj: autocompletar con una lista dinámica
autocomplete tags jquery (1)
Asegúrese de tener un getter:
public List<String> getFruitslist() {
return fruitslist;
}
Desde que publicó su struts.xml y ahora está claro que quiere usar JSON, el código debe ser cambiado. La respuesta anterior se refería a una Matriz estándar de la Acción principal; en el caso de una acción JSON, debe especificar una URL en el atributo href
del autocompletador para apuntar a la Acción JSON por separado:
<s:url var="remoteurl" action="ajaxAction"/>
<sj:autocompleter
id="fruitslist"
href="%{remoteurl}"
delay="50"
loadMinimumCount="2"
/>
Luego debe establecer su resultado como JSON y su objeto root
en su matriz, así:
<action name="ajaxAction" class="org.struts.action.AjaxJsonAction">
<result name="success" type="json">
<param name="root">
fruitslist
</param>
</result>
</action>
Le sugiero que lea cómo funciona el plugin Struts2-JSON .
Tengo la intención de mostrar una lista de sugerencias para un cuadro de texto usando sj:autocompleter
. Cuando codifico los datos en el jsp funciona bien.
<sj:autocompleter name="fruitNames"
list="{''apple'', ''banana'', ''orange'', ''apricot''}"
label="Fruit Names">
</sj:autocompleter>
Pero quiero obtener la lista de sugerencias dinámicamente de la clase de acción. Intenté hacer esto, pero no está obteniendo los valores.
<sj:autocompleter name="fruitNames" list="fruitslist"
label="Fruit Names">
</sj:autocompleter>
En mi clase de acción,
public String execute() {
fruitslist= new ArrayList<String>();
fruitslist.add("Apple");
fruitslist.add("Banana");
fruitslist.add("Orange");
fruitslist.add("Apricot");
}
Por favor ayuda.