Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
-Foros de debate

Servidores de Aplicaciones J2EE
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Ayuda con Struts
Enviado por antonioperez84 el día 25 de marzo de 2008

Hola a todos.

Estoy empezando una aplicación con Struts, con Tomcat 5.5 y Eclipse 3.1.2. Comienzo haciendo en una JSP una formulario (login), con la propiedad action = "login.do", con dos cajas, usuario y clave, y un boton "Aceptar". Tengo un Action en el struts-config el cual, cuando pulso el boton Aceptar, se va a la clase action, en este caso LoginAction.java, el cual redirecciono al forward "success" del struts-config, que va a exito.jsp.

El caso es que se me va a la ruta http://localhost:8080/Prueba/login.do y se me queda una pagina totalmente en blanco, cuando debería de ir a exito.jsp

He probado a cambiar mil cosas, el web.xml está correcto.

En breve meteré el código, porque ahora no lo tengo aquí, pero si me podéis adelantar algo, lo agradecería.

Muchas gracias

Saludos

 
Re: Ayuda con Struts
Enviado por antonioperez84 el día 26 de marzo de 2008

Este es mi struts-config:
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

<struts-config>
<form-beans>
<form-bean name="formulario"
type="FormLogin.FormularioLogin">
</form-bean>
</form-beans>
<action-mappings>
<action path="/login"
scope="request"
name="formulario"
validate="false"
input="/index.jsp"
unknown="false"
type="ActionLogin.Login">
<forward name="exito"
path="/exito/exito.jsp"
redirect="true"
contextRelative="true">
</forward>
</action>
</action-mappings>
</struts-config>


Este es mi web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&qu...;
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/Prueba/*</url-pattern>
</servlet-mapping>
</web-app>

Este es el index.jsp, donde esta el formulario:

<html>
<body>
<h1>Bienvenido</h1>
<form name = "formulario" method = "post" action = "login">
usuario: <input type = "text" name = "usuario">
clave: <input type = "password" name = "clave">
<input type = "submit" name = "aceptar" value = "Aceptar">
</form>
</body>
</html>

Esta es la clase action:

package ActionLogin;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import FormLogin.FormularioLogin;

public class Login extends Action
{
public ActionForward doExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
{
/*String accion = "";

FormularioLogin formu = new FormularioLogin();

if (formu.getUsuario().equals("usuario") && formu.getClave().equals("hola"))
{
accion = "exito";
}
else
{
accion = "fallo";
}*/


return mapping.findForward("exito");
}
}

Esta la clase ActionForm:

package FormLogin;

import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import javax.servlet.http.*;

public class FormularioLogin extends ActionForm
{
private String usuario = null;
private String clave = null;

public void setUsuario(String usuario)
{
this.usuario = usuario;
}

public String getUsuario()
{
return (this.usuario);
}

public void setClave(String clave)
{
this.clave = clave;
}

public String getClave()
{
return (this.clave);
}
}


Muchas gracias, espero respuestas por favor.

 
Re: Re: Ayuda con Struts
Enviado por Ninguno el día 16 de abril de 2008

Creo que el fallo viene en que tu, dentro del ActionLogin haces esto:
FormularioLogin formu = new FormularioLogin();
pero asi no recoges lo que mandas desde index.jsp.
Tendrias que hacer esto:
FormularioLogin formu = form;
de esa forma recoges el ActionForm (es decir, la copia virtual del formulario).
Ademas, no sé si se podrá hacer asi, pero lo cierto es que en el web.xml tienes escrito:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/Prueba/*</url-pattern>
</servlet-mapping>
cuando debería poner:
<url-pattern>/Prueba/*.do</url-pattern>
Porque lo que queremos es que el servlet redirija cualquier action y dentro del mappings de los action ya es donde le indicamos a donde mandarle en funcion de si hemos tenido exito en nuestras instrucciones del action o no por medio del atributo forward del action correspondiente.

 
Ayuda con Struts
Enviado por antonioperez84 el día 21 de abril de 2008

Muchas gracias "Ninguno". Vaya caraja tengo!! Lo probaré cuando llegue a casa.

Saludos

 
Re: Ayuda con Struts
Enviado por antonioperez84 el día 21 de abril de 2008

Hola.

He hecho el cambio, pero ahora me da el siguiente error:


javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:798)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:506)
at org.apache.jsp.index_jsp._jspx_meth_form_form_0(org.apache.jsp.index_jsp:100)
at org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:72)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)

 





Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network