prblema con struts con formulario

siluvana
12 de Octubre del 2005
Hola. Estoy haciendo una prueba con struts y no consigo encontrar el error que tengo que hace que el servidor (Tomcat 5.5.9) me tire el siguiente mensaje:

javax.servlet.ServletException: No getter method for property fistname of bean org.apache.struts.taglib.html.BEAN
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:112)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

causa raíz

javax.servlet.jsp.JspException: No getter method for property fistname of bean org.apache.struts.taglib.html.BEAN
org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:973)
org.apache.struts.taglib.html.BaseFieldTag.prepareValue(BaseFieldTag.java:121)
org.apache.struts.taglib.html.BaseFieldTag.renderInputElement(BaseFieldTag.java:102)
org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java:81)
org.apache.jsp.index_jsp._jspx_meth_html_text_0(org.apache.jsp.index_jsp:173)
org.apache.jsp.index_jsp._jspx_meth_html_form_0(org.apache.jsp.index_jsp:133)
org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:101)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Loa que tengo es lo siguiente:

en signup.jsp

<html:form action=\"signup1\">
First Name: <html:text property=\"fistname\"/><br>
Last Name: <html:text property=\"lastname\"/><br>
Email: <html:text property=\"email\"/><br>
Fax Number: <html:text property=\"faxnumber\"/><br>
<br>
<html:submit value=\"Aceptar\"/><br>
</html:form>

en struts-config.xml
<form-bean name=\"contactFormBean\"
type=\"coreservlets.ContactFormBean\"/>
<action path=\"/signup1\"
type=\"coreservlets.SignupAction1\"
name=\"contactFormBean\"
scope=\"request\">
<forward name=\"missing-value\"
path=\"/WEB-INF/results/missing-value.jsp\"/>
<forward name=\"success\"
path=\"/WEB-INF/results/confirmation.jsp\"/>
</action>

en ContactFormBean.java
private String firstname = \"First name\";
private String lastname = \"Last name\";
private String email = \"[email protected]\";
private String faxnumber = \"xxx-yyy-zzzz\";

con la implementación de los métodos
public String getFirstname()
public void setFirstname(String firstName)
public String getEmail()
public void setEmail(String email)
public String getFaxnumber()
public void setFaxnumber(String faxNumber)
public String getLastname()
public void setLastname(String lastName)
private String[] defaultValues
public String[] getDefaultValues()
public void setDefaultValues(String[] values)
public boolean isMissing(String value)

y, finalmente, en SignupAction1.java

public class SignupAction1 extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response)
throws Exception {
ContactFormBean userBean = (ContactFormBean)form;
String firstName = userBean.getFirstname();
String lastName = userBean.getLastname();
String email = userBean.getEmail();
String faxNumber = userBean.getFaxnumber();
......
}
}

Puse todo porque el error dice que me falta el getter de firstname y en la implementación del bean lo tengo. A lo mejor hay otra cosa mal que lleva a que no encuentre el método.

Muchas gracias

siluvana
12 de Octubre del 2005
Ya encontré el problema. Error de tipeo. Mis disculpas si alcancé a molestar a alguien...