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

ActionForm Struts no trabaja

Estas en el tema de ActionForm Struts no trabaja en el foro de Java en Foros del Web. Tengo estos archivos: una clase ActionForm, una Action y jsp con formulario struts resulta que invoco mi pagina jsp ke tiene el formulario struts y ...
  #1 (permalink)  
Antiguo 23/08/2006, 10:21
Avatar de xlugo2002  
Fecha de Ingreso: noviembre-2002
Ubicación: Puebla, México
Mensajes: 474
Antigüedad: 21 años, 5 meses
Puntos: 0
ActionForm Struts no trabaja

Tengo estos archivos:

una clase ActionForm, una Action y jsp con formulario struts

resulta que invoco mi pagina jsp ke tiene el formulario struts y me sale:

Estado HTTP 404 - /mi-struts/ejemplo3/false

--------------------------------------------------------------------------------

type Informe de estado

mensaje /mi-struts/ejemplo3/false

descripción El recurso requerido (/mi-struts/ejemplo3/false) no está disponible.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.27


<form-beans>
<form-bean name="AddressForm" type="ejemplo3.AddressForm" />
</form-beans>

<action-mappings>
<action path="/Address" type="ejemplo3.AddressAction" scope="request" validate="true" name="AddressForm" input="/ejemplo3/Address.jsp">
<forward name="sucessEjem3" path="/ejemplo3/sucess.jsp" />
</action>
</action-mappings>


¿QUE tengo mal?
  #2 (permalink)  
Antiguo 23/08/2006, 11:16
 
Fecha de Ingreso: agosto-2005
Mensajes: 20
Antigüedad: 18 años, 8 meses
Puntos: 0
struts

type Informe de estado

mensaje /mi-struts/ejemplo3/false

descripción El recurso requerido (/mi-struts/ejemplo3/false) no está disponible.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.27


<form-beans>
<form-bean name="AddressForm" type="ejemplo3.AddressForm" />
</form-beans>

<action-mappings>
<action path="/Address" type="ejemplo3.AddressAction" scope="request" validate="true" name="AddressForm" input="/ejemplo3/Address.jsp">
<forward name="sucessEjem3" path="/ejemplo3/sucess.jsp" />
</action>
</action-mappings>


¿QUE tengo mal?[/QUOTE]


pues segun veo, la pagina que estas mandando a llamar
Código:
/mi-struts/ejemplo3/false
no esta mapeado en ninguna parte de tu action mappings, lo que yo veo es que cuando tu accion sea exitosa entonces reenviaras la salida a la pagina
Código:
/ejemplo3/sucess.jsp
.
  #3 (permalink)  
Antiguo 23/08/2006, 17:08
Avatar de xlugo2002  
Fecha de Ingreso: noviembre-2002
Ubicación: Puebla, México
Mensajes: 474
Antigüedad: 21 años, 5 meses
Puntos: 0
error

ese error me sale cuando tengo un error en el formulario struts, por ejemplo si tengo en el formulario una propiedad que no existe en la clase ActionForm...
el pedo es ke no me sale ningun tipom de informacion del error, solo esa pantalla ke no me informa nadaaaaaaaaaaaaaaaaa.

Tengo unos errores en my clase que hereda el ActionForm con esto:

public class miclase extends ActionForm {

private String username = null;
private String fechadenacimiento = null;

//metodos get y set de esas propiedades

--->


private String usuario = null;
private String santo = null;

//metodos get y set de esas propiedades

esas variables me lanzaban error, tuve ke poner nombre de variables como usuario y santo.... la razón la desconozco.... lo unico ke puedo imaginar que una hacia conflcito con alguna palabra reservada y la otra es muy larga...... NO SE KE PASA !!!!


...........

Última edición por xlugo2002; 23/08/2006 a las 17:21
  #4 (permalink)  
Antiguo 23/08/2006, 18:54
Avatar de kittya  
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años
Puntos: 0
<action-mappings>
<action name="AddressForm" path="/Address" type="ejemplo3.AddressAction" scope="request" validate="true" name="AddressForm" input="/ejemplo3/Address.jsp">
<forward name="sucessEjem3" path="/ejemplo3/sucess.jsp" />
</action>
__________________
necesito una firma
  #5 (permalink)  
Antiguo 24/08/2006, 09:13
Avatar de xlugo2002  
Fecha de Ingreso: noviembre-2002
Ubicación: Puebla, México
Mensajes: 474
Antigüedad: 21 años, 5 meses
Puntos: 0
gracias

La configuracion del action en struts-config.xml lo tengo tal y como lo posteaste, mi duda es ke e en un formulario struts en ciertos errores solo muestra la pantalla de error 404 y no se puede saber ke anda mal.

Ahora bien ahora estoy tratando de hacer un formulario donde kiero validar si alguno de los campos estan vacios se muestre abajo de estos campos un mensaje de error.

La logica general ya la se + - pero respecto alo que acabo de citar aun no he podido hacerlo, alguien sabe o algun url ke tenga ejemplos de formularios basados en struts ???

supongamos que tengo este form:

<html:form action="/Address">
Name: <html:text property="usuario" size="30" /><br>
...............
<html:submit>save</html:submit>
</html:form>


la clase ActionForm:

public class AltaForm2 extends ActionForm {
private String usuario = null;
...................................


public ActionErrors validate (ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();

if (getUsuario() == null || getUsuario().length() < 1){
errors.add("usuario", new ActionMessage("El campo usuario esta vacio"));
}
..............................

Ahi estaria "viendo qu el campo esta vacio"...


public class AddressAction extends Action {
public ActionForward execute (ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
return mapping.findForward("sucessEjem3");
.................................


TOns como deberia usar la etiqueta <html:errors pa que muestre el mensaje marcado de rojo??

Esa validacion (metodo validate) se ejecuta antes que el execute de acuerdo ????

Tons por fa ayudenme para mostrar ese mensaje porfa

Última edición por xlugo2002; 24/08/2006 a las 09:26
  #6 (permalink)  
Antiguo 24/08/2006, 13:12
Avatar de kittya  
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años
Puntos: 0
<html:errors property="usuario"/> para ver el error en el jsp

errors.add( "usuario", new ActionMessage( "error.usuario.invalido" ) );
esto en el validate



error.usuario.invalido=usuario no valido.


y esto en el archivo donde defines tus errores si creas un proyecto en netbeans seria el archivo ApplicationResource
__________________
necesito una firma
  #7 (permalink)  
Antiguo 24/08/2006, 16:32
Avatar de xlugo2002  
Fecha de Ingreso: noviembre-2002
Ubicación: Puebla, México
Mensajes: 474
Antigüedad: 21 años, 5 meses
Puntos: 0
no camina

Estado HTTP 404 - /mi-struts/ejemplo2/false

--------------------------------------------------------------------------------

type Informe de estado

mensaje /mi-struts/ejemplo2/false

descripción El recurso requerido (/mi-struts/ejemplo2/false) no está disponible.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.27

Ingrese las lineascomo postearon y me decuelve la pantalla de arriba:

<html:form action=action="/Address">
Usuario: <html:text property="usuario" size="30" /><br>
<html:errors property="usuario"/>

toda mi aplicacion funciona. pero no logro mostrar el error de campo vacio.


if (getUsuario() == null || getUsuario().length() < 1){
errors.add("usuario", new ActionMessage("error.usuario.invalido")); // asociamos el error a la propiedad
}

DEBO DE TENER UNA COMPROBACOIN P C/U DE LOS PARAMTEROS DEL FORM O SOLO PUEDO COMPROBAR UNOS CUANTOS ?

errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.usuario.invalido")); --> aqui como deberia de poner la<html:error ???

new ActionMessage en lugar de ActionError ya que me dice ke esta deprecated.

Última edición por xlugo2002; 24/08/2006 a las 18:01
  #8 (permalink)  
Antiguo 24/08/2006, 17:19
Avatar de kittya  
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años
Puntos: 0
el error 404 es que nolo encuentra esta mal direccionado

segùn lo que muestras deberia de funcionar


en el path= no te falta el

/WEB-INF/../../

que complemente la direcion ??
__________________
necesito una firma
  #9 (permalink)  
Antiguo 24/08/2006, 18:44
Avatar de xlugo2002  
Fecha de Ingreso: noviembre-2002
Ubicación: Puebla, México
Mensajes: 474
Antigüedad: 21 años, 5 meses
Puntos: 0
version

struts-1.2.9 yo trabajo en esta version, seguramente la implementacion de algunas cosas ha cambiado y por ello no quiere funcionar.... espero alguien pueda orientarme
  #10 (permalink)  
Antiguo 28/08/2006, 11:39
Avatar de xlugo2002  
Fecha de Ingreso: noviembre-2002
Ubicación: Puebla, México
Mensajes: 474
Antigüedad: 21 años, 5 meses
Puntos: 0
ok

Ok, los mensajes de error ya funcionan, me faltaba agregar en el struts-config.xml

<message-resources parameter="ApplicationResources"/>

"pequeño gran detalle" que cuando desconoces struts te puede complicar la vida.... gracias por sus respuestas, seguiré posteando mis dudas.

Acabo de encontrar esto:

public ActionErrors validate (ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();

if (getUsuario() == null || getUsuario().length() < 1){
errors.add("usuario", new ActionMessage("error.usuario.invalido")); // asociamos el error a la propiedad
}
if (getClave() == null || getClave().length() <1){
errors.add("clave", new ActionMessage("error.clave.invalido")); //ActionMessages.GLOBAL_MESSAGE
}
..............

cuando uso: <html:errors />, funciona, pero cuando uso:

<html:errors property="usuario" />

el formulario ya no muestra el mensaje!!!!, chin !!!!

Última edición por xlugo2002; 28/08/2006 a las 11:49
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 07:33.