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

redireccion entre JSP's

Estas en el tema de redireccion entre JSP's en el foro de Java en Foros del Web. Holas! he estado indagando un poco por el foro y no he encontrado nada respecto a la duda q me surge. Estoy desarrollando una aplicacion ...
  #1 (permalink)  
Antiguo 02/10/2010, 10:30
 
Fecha de Ingreso: marzo-2009
Ubicación: Salamanca, España
Mensajes: 141
Antigüedad: 15 años, 1 mes
Puntos: 4
redireccion entre JSP's

Holas! he estado indagando un poco por el foro y no he encontrado nada respecto a la duda q me surge. Estoy desarrollando una aplicacion web y utilizo el framework Struts 2.

Mi aplicacion tiene un menu principal con varias opciones, pinchando en una u otra te redirecciona a la JSP correspondiente. Por ejemplo pinchando en "Alta Paciente" te dirige a una JSP donde se encuentra un formulario de datos.

El problema es q no se como establecer esos links desde el menu principal, actualmente utilizo un <s: form> asociado a un action y luego en el struts.xml le digo q me redirija a la JSP que quiero. El caso es q no creo q sea esta la unica manera, ya q estoy utilizandoo un formulario sin datos, vacio y me parece algo extraño.

JSP:


Código:
<body>
<h3 align="center">PAGINA 2. MENU PRINCIPAL.</h3>

<b>Hola, <s:property value="login"/> </b>

		<s:form method="post" action="altaPacientes">
			<s:submit value="Pacientes" />
		</s:form>
		
		<s:form method="post" action="citas">
			<s:submit value="Citas!" />
		</s:form>
		
		<s:form method="post" action="facturas">
			<s:submit value="Facturas!" />
		</s:form>
		
		


</body>
Código:
    
<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />

	<package name="1PFCRuvier" namespace="/" extends="struts-default">
	
        <action name="altaPacientes" class="" method="">
        	<result name="success"> jsp/menuPacientes.jsp </result>
        </action>

        <action name="citas" class="" method=citas"">
        	<result name="success"> jsp/citas.jsp </result>
        </action>

        <action name="facturas" class="" method="facturas">
        	<result name="success"> jsp/facturas.jsp </result>
        </action>
        
        
    </package>

  
</struts>
Funcionar funciona bien, pero veo algo raro lo del form de esta manera, sabeis de alguna otra solucion mas elegante?
  #2 (permalink)  
Antiguo 02/10/2010, 13:04
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: redireccion entre JSP's

Si no envías datos ni ejecutas ningún proceso ¿por qué no usas href de HTML?

No es obligatorio ni mejor usar siempre etiquetas struts. Y para llamar a una acción/jsp no necesitas que sea a través de un formulario.

Usar struts para redirigir te permite tenerlo más organizado por estar en un archivo xml, pero al mismo tiempo estás añadiendo información redundante. Si quieres usar etiquetas struts, usa <s:url> o <s:a href>, y si sólo rediriges, en struts.xml llega con


<action name="facturas">
<result name="success"> jsp/facturas.jsp </result>
</action>

No tiene ni que existir una clase.
  #3 (permalink)  
Antiguo 02/10/2010, 13:47
 
Fecha de Ingreso: marzo-2009
Ubicación: Salamanca, España
Mensajes: 141
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: redireccion entre JSP's

Muchas gracias por contestar tan rapido. Segun lo q me comentas creo q me decantaré o bien por

Código PHP:
<s:a href="menuPacientes.action"Pacientes </s:a
con el siguiente struts.xml

Código PHP:
 <action name="menuPacientes">
            <
result name="success"jsp/menuPacientes.jsp </result>
        </
action
o bien por:

Código PHP:
<s:a href="jsp/menuPacientes.jsp"Pacientes </s:a
me imagino q no hay diferencias esenciales entre ambas a la hora de ejecutar,no?

Etiquetas: redireccionar
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 08:26.