Hola, estoy intentando hacer una jsp donde hay un select. Lo que quiero es que al cambiar o elegir una opción del select diferente a la que viene seleccionada por defecto, me cambie los datos. Pero obtendo siempre el mismo error: "Se esperaba un objeto", y no logro ver dónde me falta algo. ¿Alguien me puede echar un cable? La jsp es:
Código:
<%@ page contentType="text/html; charset=utf-8" %>
<%@ taglib uri="/struts-tags" prefix="s" %>
<s:set name="theme" value="'simple'" scope="page"/>
<link href="<s:url value="/css/style2.css"/>" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function enviarFormularioTarea()
{
var listaTareas = document.getElementById("tipoTarea");
var idTarea = listaTareas.options[listaTareas.selectedIndex].value;
document.location.href = '/sgeser/obtener-detalle-actividad!obtenerDetalleTareaYCampos.action?idTarea='+idTarea;
}
</script>
<div id="hall" style="overflow:auto">
<h4>
<s:property value="%{actividadEnRutaInspeccionForm.nombreActividad}"/>
<s:hidden name="idActividad" value="%{actividadEnRutaInspeccionForm.idActividad}"/>
</h4>
<div id="gris" style="overflow:auto">
<s:property value="%{actividadEnRutaInspeccionForm.descripcionActividad}"/>
<br />
<s:text name="es.aena.sgeser.aapucs.servidor.rutaDeInspeccionForm.tareas"/>
<br />
<s:select id="tipoTarea" name="actividadEnRutaInspeccionForm.listaTareasPorActividad" size="3" list="%{actividadEnRutaInspeccionForm.listaTareasPorActividad}"
listValue="%{nombre}" onchange ="enviarFormularioTarea()" cssStyle="width: 100%;">
</s:select>
</div>
<s:property value="%{actividadEnRutaInspeccionForm.nombreTarea}"/>
<s:hidden name="idTarea" value="%{actividadEnRutaInspeccionForm.idTarea}"/>
<div id="gris" style="overflow:auto">
<s:property value="%{actividadEnRutaInspeccionForm.descripcionTarea}"/>
<br />
<s:text name="es.aena.sgeser.aapucs.servidor.rutaDeInspeccionForm.tiposElementos"/>
<s:iterator value="%{actividadEnRutaInspeccionForm.listaTiposElementosPorTarea}" status="rowStatus">
<s:property value="%{nombre}"/>
<s:if test="!#rowStatus.last">, </s:if>
</s:iterator>
</div>
<s:text name="es.aena.sgeser.aapucs.servidor.rutaDeInspeccionForm.campos"/>
<div id="gris" style="overflow:auto">
<table id="tablaCamposTarea">
<s:iterator value="%{actividadEnRutaInspeccionForm.listaCamposPorTarea}" status="statusCampo">
<tr>
<td>
<s:property value="%{nombre}"/>
</td>
<td>
<s:iterator value="%{ListaNombresTiposEnumerados}" status="statusEnumerado">
<s:if test="#statusCampo.index == #statusEnumerado.index">
<s:property />
<s:iterator value="%{actividadEnRutaInspeccionForm.listaTotalValoresPermitidos}" status="statusValor">
<s:if test="#statusCampo.index == #statusValor.index">
<s:if test="#statusValor.first">
[
<s:property />
</s:if>
<s:if test="!#statusValor.last">
,
<s:property />
</s:if>
<s:if test="#statusValor.last">
,
<s:property />]
</s:if>
</s:if>
</s:iterator>
</s:if>
</s:iterator>
</td>
</tr>
</s:iterator>
</table>
</div>
y el Action de dónde viene:
Código:
package es.aena.sgeser.aapucs.servidor.web.struts.form;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import es.aena.sgeser.aapucs.servidor.data.vo.CampoVo;
import es.aena.sgeser.aapucs.servidor.data.vo.DefinicionDeTareaVo;
import es.aena.sgeser.aapucs.servidor.data.vo.TipoElementoVo;
import es.aena.sgeser.aapucs.servidor.data.vo.ValorPermitidoVo;
/**
* Clase que encapsula los datos relativos a formulario de una actividad en una ruta de inspección
* @author empalacios
*
*/
public class ActividadEnRutaInspeccionForm
{
private String nombreActividad;
private String descripcionActividad;
private Long idActividadElegida;
private String nombreTarea;
private String descripcionTarea;
private Long idTarea;
private String nombreValorPermitido;
private String nombreTipoEnumerado;
private Collection<DefinicionDeTareaVo> listaTareasPorActividad = new ArrayList<DefinicionDeTareaVo>();
private Collection<CampoVo> listaCamposPorTarea = new ArrayList<CampoVo>();
private Collection<TipoElementoVo> listaTiposElementosPorTarea = new ArrayList<TipoElementoVo>();
private Collection<List<String>> listaTotalValoresPermitidos = new ArrayList<List<String>>();
public String getNombreActividad() {
return nombreActividad;
}
public void setNombreActividad(String nombreActividad) {
this.nombreActividad = nombreActividad;
}
public String getDescripcionActividad() {
return descripcionActividad;
}
public void setDescripcionActividad(String descripcionActividad) {
this.descripcionActividad = descripcionActividad;
}
public Long getIdActividadElegida() {
return idActividadElegida;
}
public void setIdActividadElegida(Long idActividadElegida) {
this.idActividadElegida = idActividadElegida;
}
public String getNombreTarea() {
return nombreTarea;
}
public void setNombreTarea(String nombreTarea) {
this.nombreTarea = nombreTarea;
}
public String getDescripcionTarea() {
return descripcionTarea;
}
public void setDescripcionTarea(String descripcionTarea) {
this.descripcionTarea = descripcionTarea;
}
public Long getIdTarea() {
return idTarea;
}
public void setIdTarea(Long idTarea) {
this.idTarea = idTarea;
}
public String getNombreValorPermitido() {
return nombreValorPermitido;
}
public void setNombreValorPermitido(String nombreValorPermitido) {
this.nombreValorPermitido = nombreValorPermitido;
}
public String getNombreTipoEnumerado() {
return nombreTipoEnumerado;
}
public void setNombreTipoEnumerado(String nombreTipoEnumerado) {
this.nombreTipoEnumerado = nombreTipoEnumerado;
}
public Collection<DefinicionDeTareaVo> getListaTareasPorActividad() {
return listaTareasPorActividad;
}
public void setListaTareasPorActividad(
Collection<DefinicionDeTareaVo> listaTareasPorActividad) {
this.listaTareasPorActividad = listaTareasPorActividad;
}
public Collection<CampoVo> getListaCamposPorTarea() {
return listaCamposPorTarea;
}
public void setListaCamposPorTarea(Collection<CampoVo> listaCamposPorTarea) {
this.listaCamposPorTarea = listaCamposPorTarea;
}
public Collection<TipoElementoVo> getListaTiposElementosPorTarea() {
return listaTiposElementosPorTarea;
}
public void setListaTiposElementosPorTarea(
Collection<TipoElementoVo> listaTiposElementosPorTarea) {
this.listaTiposElementosPorTarea= listaTiposElementosPorTarea;
}
public Collection<List<String>> getListaTotalValoresPermitidos() {
return listaTotalValoresPermitidos;
}
public void setListaTotalValoresPermitidos(
Collection<List<String>> listaTotalValoresPermitidos) {
this.listaTotalValoresPermitidos = listaTotalValoresPermitidos;
}
}
Si alguien me sabe decir de dónde viene ese error, estaría muy agradecida, porque no consigo verlo. Un saludo