error Se esperaba un objeto
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:
[CODE]<%@ 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>
[/CODE]
y el Action de d贸nde viene:
[CODE]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;
}
}[/CODE]
Si alguien me sabe decir de d贸nde viene ese error, estar铆a muy agradecida, porque no consigo verlo. Un saludo
[CODE]<%@ 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>
[/CODE]
y el Action de d贸nde viene:
[CODE]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;
}
}[/CODE]
Si alguien me sabe decir de d贸nde viene ese error, estar铆a muy agradecida, porque no consigo verlo. Un saludo
No tiene mucho sentido. Parece todo bien. 驴Puedes indicar exactamente en qu茅 l铆nea est谩 el error? Si quieres hacer un buen debug javascript te aconsejo que uses Firefox.
Un saludo
----------------------------------------------------------------------
http://www.xatcom.net Dise帽o web valencia
Un saludo
----------------------------------------------------------------------
http://www.xatcom.net Dise帽o web valencia