Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2009, 10:10
struts
 
Fecha de Ingreso: abril-2009
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
struts suma de numeros

Hola buenas me gustaría que alguien me explicara como poder hacer esto.

2 paginas jsp: la primera con 2 campos de texto y 1 boton submit, y la 2º página con el resultado de la suma de los 2 camposde texto.
Esto hecho con struts.

He estado mirando por internet y según creo el struts-config, es el que manda las acciones hacia donde deben de dirigirse si no me confundo o algo así.

Os pongo lo que he podido hacer y haber si alguien puede explicarme y corregirme please porque no me sale.

Cosas que no entiendo:
El setoperando1 y setoperando2 no se usan nunca sino me confundo.. por lo que.. el valor de operando1 y operando 2 estarían vacios no?? o simplemente es que al dar al boton submit ya se ponen el valor automaticamente??

index.jsp simple formulario con 2 cajas de texto y 1 boton.
Código PHP:
 
 Aquí vendria lo de page language
="java".... ( no me deja escribirlo hasta q tenga ams de 30 mensajes publicados)
Aquí lso taglibs que sons struts-bean,html y logicno me deja escribirlo hasta q tenga ams de 30 mensajes publicados
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01...( no me deja escribirlo hasta q tenga ams de 30 mensajes publicados) 



<html:html>  
<head>
<title>Ejemplo struts</title>  
</head> 
<body>  
 
                <html:form action="
sumar"  method="post" focus="operando1" >  
                    <br/>Operando 1:<html:text property="
operando1"/>  
                    <br/>Operando 2:<html:text property="
operando2"/>  
                    <table>  
                        <tr>  
                            <td><html:submit value="
Sumar"/></td>  
                            
                        </tr>  
                    </table>  
                           
                   
                </html:form>  
                </body>
    </html:html> 
Struts-config.xml Cuando doy click al boton submit me lleva al sumarform y despues al sumar action ....

Código PHP:
<?xml version="1.0" encoding="iso-8859-1"?>  
<!DOCTYPE struts-config PUBLIC   
        "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"   
        "http..struts.apache.org/dtds/struts-config_1_3.dtd">  
<struts-config>  
    <form-beans>  
        <form-bean name="operandosForm"  type="com.form.SumarForm"/>  
          
        
    </form-beans>  
       
    <action-mappings>  
        <action path="/sumar"    
                type="com.action.SumarAction"    
                name="operandosForm"  
                scope="request"  
                validate="true"  
                cancellable="true"  
                input="/index.jsp">  
            <forward name="ok"        path="/final.jsp"/>  
              
        </action>  
  
              
    </action-mappings>  
  
  
       
         
</struts-config>
sumar form viene priemro aquí y luego al sumaraction
Código PHP:
package com.form;

import org.apache.commons.validator.GenericValidator;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMessage;


public class 
SumarForm extends org.apache.struts.action.ActionForm {
    private 
String operando1;
    private 
String operando2;
    private 
String resultado;
    
    public 
String getOperando1() {
        return 
operando1;
    }

    public 
void setOperando1(String operando1) {
        
this.operando1 operando1;
    }

    public 
String getOperando2() {
        return 
operando2;
    }
    
    public 
void setOperando2(String operando2) {
        
this.operando2 operando2;
    }

    public 
String getResultado() {
        return 
resultado;
    }
    
    public 
void setResultado(String resultado) {
        
this.resultado resultado;
    }
    
    
/* 
     * Inicializamos los parámetros
     */
    
public void reset(org.apache.struts.action.ActionMapping mappingjavax.servlet.http.HttpServletRequest request) {
        
this.operando1 "";
        
this.operando2 "";
        
this.resultado "";
    }

    
    } 
sumaraction, realiza las operaciones. llama a los 2 metodos para coger los numeros y llama al metodo setresultado. luego busca el foward ok que le envia a final.jsp
Código PHP:
package com.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.*;


public class 
SumarAction extends Action {
    
    public 
ActionForward execute(ActionMapping mappingActionForm formHttpServletRequest requestHttpServletResponse responsethrows Exception {
        
ActionForward forward null;

        
            
com.form.SumarForm operationForm = (com.form.SumarFormform;
            
            
int operando1 Integer.parseInt(operationForm.getOperando1());
            
int operando2 Integer.parseInt(operationForm.getOperando2());
            
            
operationForm.setResultado(String.valueOf(operando1 operando2));
            
            
forward mapping.findForward("ok");
        
        
        return 
forward;
    }

final.jsp
Código PHP:
 Aquí vendria lo de page language="java".... ( no me deja escribirlo hasta q tenga ams de 30 mensajes publicados)
Aquí lso taglibs que sons struts-bean,html y logicno me deja escribirlo hasta q tenga ams de 30 mensajes publicados)
<!
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01...( no me deja escribirlo hasta q tenga ams de 30 mensajes publicados)

<html:html>  
<head>
<title>resultado de la suma</title>  
</head> 
<body>  
 
             <logic:notEmpty name="
operandosForm" property="resultado">  
                        <p> <strong>El resultado es</strong>:    
                            <bean:write name="
operandosForm" property="resultado"/>  
                        </p>    
                </body>
    </html:html> 
1 saludo y espero vuestra ayuda.
Es algo fácil de ahcer pero no entiendo muy bien el funcionamiento del struts-config