Struts 2 y Ajax

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

Consultar las diapositivas de Ajax y Query hasta la diapositiva: »Enviar un array múltiple» inclusive.

Tener en cuenta que a partir de la versión 1.4 de Jquery cambió la forma de enviar objetos, y dejó de ser compatible con algunos frameworks, como Struts 2. Para utilizar la metodología antigua de envio de la información:

<script type="text/javascript">
jQuery.ajaxSettings.traditional = true; 
….

Una combo carga en función de otra

Cargar una combo con los equipos de futbol y tras seleccionar un equipo, utilizando ajax, cargar otra comobo con los jugadores del equipo seleccionado.

Utilizaremos el siguiente código Jquery:

$(document).ready(function(){
	$("#combo1").change(function(event){
		//almacenamos en id el value de la option seleccionada
		var id = $("#combo1").find(':selected').val();
		$.get('cargaComboJugadores.action', { 'equipoCod': id}, showResult, "text");
	});
});

Enviar y gestionar objetos serializados

Generaremos un objeto JSON a partir de los resultados de una consulta en la base de datos. Leeremos dichos resultados con Javascript.

prueba-ajax.html

<script>
$.ajax({
	url: "https://app-futbol.herokuapp.com/verEquiposAjax.action",
	dataType:'JSON',
	type: "GET",
	crossDomain: true,
	contentType: "application/json",
	success: function(response){
		console.log(response)
		for(var i =0; i<response.length; i++){
			console.log(response[i].nombre)
		}
	}
})
</script>

struts.xml

<action name="verEquiposAjax" class="com.pablomonteserin.action.EquipoAction" method="verEquiposAjax">
	<result>/equipos-ajax.jsp</result>
</action>

En el action:

public String verEquiposAjax() {
	EquiposBO equiposBO = new EquiposBO();
	equipos = equiposBO.getEquipos();
	Gson gson = new GsonBuilder().create();
	codigo = gson.toJson(equipos);
	return SUCCESS;
}

equipos-ajax.jsp

<s:property  escapeXml="false" escapeHtml="false" escapeJavaScript="false" value="personaSerializada" />

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.