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

Struts 2 - cargar index

Estas en el tema de Struts 2 - cargar index en el foro de Java en Foros del Web. Buenos días, A ver si me pueden echar un cable, cuando cargo mi web en el navegador http://localhost:8080/user/, directamente quiero que se lanze un action, ...
  #1 (permalink)  
Antiguo 07/05/2014, 03:58
Avatar de estaisaderezados  
Fecha de Ingreso: noviembre-2010
Ubicación: Madrid
Mensajes: 96
Antigüedad: 13 años, 5 meses
Puntos: 3
Struts 2 - cargar index

Buenos días,

A ver si me pueden echar un cable, cuando cargo mi web en el navegador http://localhost:8080/user/, directamente quiero que se lanze un action, para ello en el web.xml tengo:

<welcome-file-list>
<welcome-file>actionindex.jsp</welcome-file>
</welcome-file-list>

El archivo actionindex.jsp (ubicado en el raiz), redirecciona para que se ejecute un action:

<META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.action?request_locale=en">

Hasta aquí ningún problema.

Mi duda, es que ahora quiero que cuando llame a http://localhost:8080/user/admin/, me cargue la index.jsp que está bajo el directorio "admin", pero en lugar de eso me carga la index.jsp que tengo directamente en el raiz, es decir el llamar a http://localhost:8080/user/admin/ hace el mismo efecto que llamar a http://localhost:8080/t24user/

En el directorio admin tengo otro archivo jsp actionindex.jsp con el siguiente contenido:

<META HTTP-EQUIV="Refresh" CONTENT="0;URL=indexadmin.action?request_locale=en ">

Tengo dos archivos de configuración struts, aquí los muestro:

struts-admin.xml

<action name="indexadmin">
<result type="tiles-admin">index</result>
</action>

struts-user.xml

<action name="index">
<result type="tiles-user">index</result>
</action>

Muchas gracias
  #2 (permalink)  
Antiguo 07/05/2014, 06:20
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Struts 2 - cargar index

Lo estás haciendo mal, si usas struts tienes que usar un filtro de forma que pueda dirigir las llamadas a los action.

Cita:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.Stru tsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

De otra forma es imposible que struts se entere de que la llamada a indexadmin es para él.

Échale un ojo a algún tutorial, porque se ve que todavía no sabes lo básico.
http://www.javatutoriales.com/2011/0...iguracion.html
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 07/05/2014, 08:49
Avatar de estaisaderezados  
Fecha de Ingreso: noviembre-2010
Ubicación: Madrid
Mensajes: 96
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Struts 2 - cargar index

Gracias por la información

La verdad es que soy novato con struts2, no se si me podrías dar una orientación desde el foro.

A continuación te muestro el contenido de algunos ficheros de configuración:

struts.xml

<struts>

<package name="default" namespace="/" extends="struts-default"></package>

<include file="struts-user.xml"></include>
<include file="struts-admin.xml"></include>

</struts>

struts2-admin.xml

<package name="admin" extends="struts-default" namespace="/admin">

<result-types>
<result-type name="tiles-admin" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>

<action name="indexadmin">
<result type="tiles-admin">index</result>
</action>

struts2-user.xml

<result-types>
<result-type name="tiles-user"
class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>

<action name="index">
<result type="tiles-user">index</result>
</action>

web.xml

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.Stru tsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

tiles-admin.xml

<definition name="index" template="/templates/mylayout_admin_public.jsp">
<put-attribute name="title" value="Main Page Admin"/>
<put-attribute name="body" value="/admin/index.jsp"/>
</definition>


tiles-user.xml

<definition name="index" template="/templates/mylayout_user_public.jsp">
<put-attribute name="title" value="Main Page User"/>
<put-attribute name="body" value="/index.jsp"/>
</definition>

Un saludo,

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