Foros del Web » Programación para mayores de 30 ;) » Java »

No llena select con Struts2 usando jquery ajax

Estas en el tema de No llena select con Struts2 usando jquery ajax en el foro de Java en Foros del Web. Hola, estoy tratando de llenar un combo box a partir de la seleccion de otro combo box anterior y con información de la base de ...
  #1 (permalink)  
Antiguo 05/06/2011, 21:52
 
Fecha de Ingreso: diciembre-2010
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta No llena select con Struts2 usando jquery ajax

Hola, estoy tratando de llenar un combo box a partir de la seleccion de otro combo box anterior y con información de la base de datos utilizando struts2 y ajax con jquery, el problema es que al momento de devolver el json a la función de jquery me retorna null, pero en el action realiza la busqueda y llena el hashmap correctamente. Ya estoy desesperada llevo 1 semana tratando de ver el error y de verdad que no se como resolver esto, agradecería de antemano cualquier ayuda... Gracias

FUNCION JQUERY:

$('#selectVersion').change(function(e){
$("#selectVersion option:selected").each(function () {
var chose=$(this).val();
$.ajax({type: "POST",
url: "jsonAction.action",
data: {vid:chose},
dataType: "json",
success: function(data) {
$("#selectLocation").show();
$("#listLocation").get(0).options.length = 0;
$("#listLocation").get(0).options[0] = new Option("SelectLocation", "-1");

$.each(data.items, function(key, value) {
$("#listLocation").get(0).options[$("#listLocation").get(0).options.length]
= new Option(key, value);


});

}
});


});
});




STRUTS.XML

<package name="catalog" extends="struts-default">
<result-types>
<result-type name="json" class="org.apache.struts2.json.JSONResult"/>
</result-types>
<action name="*">
<result>/pages/{1}.jsp</result>
</action>
<action name="jsonAction" class="Catalogue.actions.JsonAction">
<result type="json"><param name="root">json</param></result>
</action>
</package>





PAGINA.JSP

<tr>
<td align="right" valign="top">Version:</td>
<td colspan="5">
<s:select name='selectV' id="selectVersion" list="versionsList" listKey="id" listValue="name" headerKey="0" headerValue="Select Version" name="vid" value="%{vid}"/></td>
</tr>
<tr id="selectLocation" style="display: none" >
<td align="right" valign="top">Location:</td>
<td colspan="5" ><select id="listLocation"></select></td>
</tr>





ACTION JsonAction.java

@SuppressWarnings("unchecked")

public class JsonAction extends ActionSupport {

private Integer vid;

private LocationSvc officeSvc;

private List officesVersion;

private static final Logger log = Logger.getLogger(JsonAction.class);

private static final long serialVersionUID = -7279248753453329694L;

public String execute() {

officesVersion = officeSvc.findByVersion(vid);
HashMap json =new LinkedHashMap<String, Object>();

Iterator ite = officesVersion.iterator();
while (ite.hasNext())
{
Office of= (Office) ite.next();
json.put("id",of.getId());
json.put("name",of.getName());
}


return SUCCESS;
}


public void setVid(Integer vid) {
this.vid = vid;
}


public Integer getVid() {
return vid;
}

public void setOffices(List officesVersion) {
this.officesVersion = officesVersion;
}


public List getOffices() {
return officesVersion;
}


public void setOfficeSvc(LocationSvc officeSvc) {
this.officeSvc = officeSvc;
}


public LocationSvc getOfficeSvc() {
return officeSvc;
}

}

Espero que esta información le sirva, gracias, espero sus sugerencias :D
  #2 (permalink)  
Antiguo 19/03/2012, 07:15
 
Fecha de Ingreso: marzo-2009
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: No llena select con Struts2 usando jquery ajax

creo que el error esta en la llamada al action, deberias llamar al JsonAction como JsonAction.do
  #3 (permalink)  
Antiguo 19/03/2012, 09:12
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: No llena select con Struts2 usando jquery ajax

Hola,
respecto a lo que comenta huaymas, solo decir que las extensiones .do son propias de Struts1, las extensiones .action son de Struts2.

Etiquetas: ajax, jquery, jsp-servlets, struts2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:28.