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 logic( no 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>
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>
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 mapping, javax.servlet.http.HttpServletRequest request) {
this.operando1 = "";
this.operando2 = "";
this.resultado = "";
}
}
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 mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
ActionForward forward = null;
com.form.SumarForm operationForm = (com.form.SumarForm) form;
int operando1 = Integer.parseInt(operationForm.getOperando1());
int operando2 = Integer.parseInt(operationForm.getOperando2());
operationForm.setResultado(String.valueOf(operando1 + operando2));
forward = mapping.findForward("ok");
return forward;
}
}
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 logic( no 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>
Es algo fácil de ahcer pero no entiendo muy bien el funcionamiento del struts-config