JSP (Java Server Page) - Iniciándome en struts

 
Vista:

Iniciándome en struts

Publicado por Amparo (3 intervenciones) el 10/12/2006 09:08:35
Hola a todos/as,

Estoy empezando con el tema strtus siguiendo un libro que he conseguido, y estoy siguiendo uno de los ejemplos. Pues bien en el ejemplo quiero cargar en la ventana principal unos datos provenientes de una BBDD, y lo hace bien, pero me gustaría conseguir el mismo resultado sin utilizar el botón <html:submit>, y soy incapaz.

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<BODY bgcolor="#FFFFFF" text="#009933" font="Verdana" topmargin="10">
<center>

<font face="Verdana" size="2">
</font>
<br>

<b> Categories</b>

<fieldset>
<html:form action="/listCategories">
<html:submit> ---------------------------------> Esto es lo que quiero suprimir
<font size="2">
<logic:present name="ListCategoriesForm" property="results">
<bean:size id="size" name="ListCategoriesForm" property="results"/>
<logic:greaterThan name="size" value="0">
<table>
<tr>
<logic:iterate id="result" name="ListCategoriesForm" property="results">
<tr>
<td><bean:write name="result" property="nom"/></td>
</tr>
</logic:iterate>
</table>
</logic:greaterThan>
</logic:present>
</font>
</html:form>
</fieldset>
</center>
</BODY>
</html>

Después un 2º problema con el mismo código. Me gustaría que los datos que me devuelve el iterador me los marque como links es decir si me devuelve 4 categorías, p.ej (Arte, música) que ambos sean links que me puedan redirigir luego a otras páginas.

Un saludo a todos y gracias por anticipado,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Iniciándome en struts

Publicado por camus (89 intervenciones) el 10/12/2006 22:09:42
Hola, bueno primero que nada te comento que este post ya lo conteste en el foro de emagister, http://foros.emagister.com/tema-iniciandome_en_struts-43244-346067.htm
Checate la respuesta y por favor vuelve a postear en este mismo foro lo que te pido, de esta manera la respuesta estara en dos foros distintos y mas usuarios podran tener las respuesta a los problemas que se sucitan.

Gracias

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Iniciándome en struts

Publicado por Amparo (3 intervenciones) el 11/12/2006 08:03:17
Hola,

Siento si me he explicado mal, pero como yo tengo tan claro lo que quiero hacer .

***********************************************************

* Esto es para formatear la página. Se puede obviar. *

***********************************************************

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<BODY bgcolor="#FFFFFF" text="#009933" font="Verdana" topmargin="10">
<center>

<font face="Verdana" size="2">
</font>
<br>

**************************************************************

* Y el resto del código hace lo siguiente:

* Llamo a la acción /listCategories, después miro si su tamaño en la BBDD es mayor a 0, es decir si hay algún dato a recuperar, y si lo hay con un iterador los voy mostrando por pantalla. Todo esto ocurre una vez le doy al botón de submit que quiero suprimir "<html:submit>"

Pues lo que necesito es que nada más cargar esta página .jsp se me muestren los valores que hay en la BBDD y que recorro con el iterador, sin necesidad de tener que presionar el botón de submit.

Espero haberlo aclarado un poquito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Iniciándome en struts

Publicado por camus (89 intervenciones) el 11/12/2006 15:31:32
Hola, ok ahora si ya te entendi, lo que tu quieres es que automaticamente de carge la jsp con lo que traiga de la BD o no?.

Pues entonces antes de entra a la JSP, primero debes entrar al actionpara que asi despues te puedas redirijir a tu JSP de salida.

O que problema tendrias en invocar el action por primera vez? solo lo tienes que hacer /listCategories.do

Si tienes mas dudas por favor externalas

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Iniciándome en struts

Publicado por Amparo (3 intervenciones) el 11/12/2006 19:24:36
Gracias por tu respuesta,

Decirte que yo había probado a poner en el código del JSP <html:form action="/listCategories.do"> en lugar de <html:form action="/listCategories">, pero no me funciona. No sé si te referías a eso exactamente.

El caso es que si en el navegador pongo http://localhost:8080/ebooks/listCategories.do sí que me lista las categorias. Supongo que es algo sencillo, pero como he indicado me estoy iniciando en los struts.

Si crees que el problema pueda venir del struts-config.xml o del web.xml dímelo y te pongo como los tengo definidos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Iniciándome en struts

Publicado por camus (89 intervenciones) el 11/12/2006 22:12:16
Hola, Amparo dijo<cita>El caso es que si en el navegador pongo http://localhost:8080/ebooks/listCategories.do</cita>

En efecto es a lo que me refiero, debes invocar el action desdeotropunto, para que de esta forma entre primero al action y despues alaJSP. Pero ahora no entiendo si tienes algun problema en realizaresto?si es asi dimelo por favor (pero recuerda explicarme tu idea decomoquieres invocar ese action por ejemplo desde un link,un menu,etc )

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Iniciándome en struts

Publicado por Gonzalo (72 intervenciones) el 19/12/2006 12:07:21
Hola,

Creo que lo que hay es un ligero error de concepto...

La cosa funciona, básicamente, así:

1. Desde algún sitio (p.ej. desde la barra de edirección directamente, o desde un enlace en otra página), llamas a http://localhost:8080/ebooks/listCategories.do
2. Eso, según esté configurado en el struts-config.xml ejecutará una determinada Action (llamémosla p.ej. com.ebooks.portal.listCategoriesAction). Esa acción trae los datos de la base de datos o de donde sea y los deja disponibles en la petición.
3. Cuando la acción acaba, pasa la ejecución (forward) al JSP y este recoge los datos y los pinta.

Claramente lo que no puedes hacer es pasar directamente al paso 3. El JSP no tendrá datos para pintar.


Lo que estás haciendo tú es que en tu JSP tienes a la vez la presentación de los datos, y además una llamada a la acción (el submit del formulario) que luego hace forward a esa misma página. Según la situación y lo que quieras hacer eso puede tener sentido y no es que esté mal, pero en este caso, por lo que dices que quieres hacer, la llamada a la acción debería venir de otro sitio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar