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

Error struts2-hibernate

Estas en el tema de Error struts2-hibernate en el foro de Java en Foros del Web. Hola, estoy haciendo una pagina web usando struts2 e hibernate, me ha surjido un problema y estoy dando un poco palos de ciego. Tengo dos ...
  #1 (permalink)  
Antiguo 24/08/2010, 06:11
 
Fecha de Ingreso: agosto-2010
Mensajes: 3
Antigüedad: 13 años, 8 meses
Puntos: 0
Error struts2-hibernate

Hola, estoy haciendo una pagina web usando struts2 e hibernate, me ha surjido un problema y estoy dando un poco palos de ciego.
Tengo dos tablas en una BD en mysql, una es para los usuarios, y otra para almacenar titulos de dvd's.

No tengo problemas para visualizar los usuarios, pero cuando voy a la pagina de visualizar los dvds me sale el siguiente error:


org.apache.jasper.JasperException: Ha sucedido una excepción al procesar la página JSP /register_dvd.jsp en línea 16

16: <s:push value="dvd">


Mas abajo me pone:

causa raíz

GRAVE: Servlet.service() para servlet jsp lanzó excepción
tag 'push', field 'value': You must specify a value to push on the stack. Example: person - [unknown location]



El archivo struts.xml es el siguiente:

<action name="saveOrUpdateDvd" method="saveOrUpdate" class="web.DvdAction">
<result name="success" type="redirect">listDvd</result>
</action>
<action name="listDvd" method="list" class="web.DvdAction">
<result name="success">/register_dvd.jsp</result>
</action>


El archivo de mapeo del dvd es el siguiente, Dvd.hbm.xml:

<class name="domain.Dvd" table="dvd">
<id name="dvd_id" column="dvd_id" type="integer">
<generator class="increment"/>
</id>
<many-to-one column="user_id" class="domain.User" name="user_id" />
<!-- <property name="user_id" column="user_id" type="integer"/> -->
<property name="titulo" column="titulo" type="string"/>
<property name="genero" column="genero" type="string"/>
<property name="director" column="director" type="string"/>
<property name="descargado" column="descargado" type="boolean"/>
</class>


He buscado en todas partes y no encuentro nada. No se porque, pero creo que el error esta en el archivos struts.xml. No se si se puede pero tambien tengo alli metido en

<package name="default" extends="hibernate-default">

a parte de los mapeos que he puesto para dvd(no solo esta el saveor.. y list), tambien esta el mapeo para usuarios, igual habria que hacer algo como:

<package name="user" extends="hibernate-default">

<package name="dvd" extends="hibernate-default">


Y en cada uno de ellos hacer el mapeo.



Es un pco complicado explicarlo, si no he conseguido hacerlo ya intentare ser mas claro.
Muchas gracias por todo.
  #2 (permalink)  
Antiguo 24/08/2010, 06:21
 
Fecha de Ingreso: enero-2008
Mensajes: 197
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Error struts2-hibernate

En la línea 16 me imagino que quieres mostrar el valor de dvd no? si es así mejor usa:


Código JSP:
Ver original
  1. <s:label name="nombre_de_variable_del_stack" />

Recuerda que debes tener un getter para el dvd object en tu struts action para que puedas acceder esa variable desde tu JSP.

Y en ese caso sería así:

Código JSP:
Ver original
  1. <s:label name="dvd.titulo" />

Saludos!
  #3 (permalink)  
Antiguo 24/08/2010, 17:18
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Error struts2-hibernate

Haz lo que te dice hualro, declara y crea el objeto DVD en el action con su getter y usa la etiqueta <s:property value="objeto.atributo"> para mostrar los atributos en la JSP

Para usar el <s:push> debes tener claro como funciona el Valuestack.

Esto sería para mostrar datos, no para introducirlos, aunque el proceso es muy similar.
  #4 (permalink)  
Antiguo 25/08/2010, 02:57
 
Fecha de Ingreso: agosto-2010
Mensajes: 3
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Error struts2-hibernate

Ok, muchas gracias a los dos.

Etiquetas: hibernate, 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 22:16.