Я не могу узнать, что я делаю неправильно.Отсутствие метода getter для свойства ... error
Я получаю эту ошибку:
javax.servlet.jsp.JspException: No getter method for property: "firstname" of bean: "org.apache.struts.validator.DynaValidatorForm"
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:915)
at org.apache.struts.taglib.html.BaseFieldTag.prepareValue(BaseFieldTag.java:126)
at org.apache.struts.taglib.html.BaseFieldTag.renderInputElement(BaseFieldTag.java:102)
at org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java:80)
at org.apache.jsp.login_jsp._jspx_meth_html_005ftext_005f1(login_jsp.java:1095)
at org.apache.jsp.login_jsp._jspx_meth_html_005fform_005f1(login_jsp.java:1040)
at org.apache.jsp.login_jsp._jspService(login_jsp.java:759)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
в файле распорка-config.xml, когда используется Таг:
<form-bean name="sendContactForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="firstname" type="java.lang.String" initial="firstname"/>
<form-property name="lastname" type="java.lang.String" initial="lastname"/>
<form-property name="emailaddress" type="java.lang.String" initial="email"/>
<form-property name="subject" type="java.lang.String" initial="subject"/>
<form-property name="comments" type="java.lang.String" initial="comments"/>
</form-bean>
, а также:
<action path="/sendContactForm" attribute="sendContactForm" input="/login.jsp"
name="sendContactForm" scope="request" parameter="reqCode"
type="org.springframework.web.struts.DelegatingActionProxy" validate="true">
<forward name="sendcontacts" path="/login.jsp"/>
</action>
в ActionForm у меня есть :
public class ContactAction extends DynaValidatorActionForm {
private static Logger log = Logger.getLogger(ContactAction.class);
public ActionForward sendContactForm(ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse resp) throws Exception {
log.debug("ContactForm--start");
DynaValidatorActionForm sendContactForm = (DynaValidatorActionForm) form;
ActionMessages messages = new ActionMessages();
String firstName = ((String) sendContactForm.get("firstname"));
String lastName = ((String) sendContactForm.get("lastname"));
String emailAddress = ((String) sendContactForm.get("emailaddress"));
String subject = ((String) sendContactForm.get("subject"));
String comments = ((String) sendContactForm.get("comments"));
return mapping.findForward("sendcontacts");
В файле JSP у меня есть:
<html:form action="/sendContactForm.do?ContactCd=sendContactForm" method="post" styleId="sendContactForm">
<c:set var="sendContactForm" value="${sendContactForm}" />
<html:errors/>
<label for="firstname">First Name <span class="asterisk">*</span>
</label>
<html:text styleId="firstname" property="firstname" styleClass="form-control tip required" name="sendContactForm" />
<label for="lastname">Last Name <span class="asterisk">*</span>
</label>
<html:text styleId="lastname" property="lastname" styleClass="form-control tip pplaceholder" name="sendContactForm"/>
<label for="emailaddress">Email Address <span class="asterisk">*</span>
</label>
<html:text styleId="emailaddress" property="emailaddress" styleClass="form-control tip pplaceholder" name="sendContactForm" />
<label for="subject">Subject <span class="asterisk">*</span>
</label>
<html:text styleId="subject" property="subject" styleClass="form-control tip pplaceholder" name="sendContactForm"/>
<label for="comments">Comments <span class="asterisk">*</span>
</label>
<html:textarea styleId="comments" property="comments" styleClass="form-control tip pplaceholder" name="sendContactForm"></html:textarea>
</html:form>
Я исследовал много, но не успех еще.
Итак, что случилось? Спасибо.
Я тоже это пробовал. Не решил проблему. В браузере он перестает показывать поля после emailaddress, но в консоли говорится, что метод getter для свойства: «firstname» !! – Mark
По умолчанию будет вызываться getFirstname(). Когда вы ставите точки отладки внутри класса actin, вы видите вещи как ожидалось? – spiderman
Я попробую и дам вам знать – spiderman