[Struts] Cannot retrieve definition for form bean null...
salut à tous,
je suis bloqué par cette erreur (Cannot retrieve definition for form bean null on action /visu.do) alors que j'ai fais un formulaire tout simple.
je pense que c'est un oubli ou une erreur bidon de ma part car j'ai un autre formulaire qui fonctionne sans pb sur la page appelant celle ci....
voici mon code :
------page.jsp
Code:
1 2 3 4 5 6 7
| <html:javascript formName="visuForm"/>
<html:form action="/visu.do" enctype="utf-8" onsubmit="return validateVisuForm(this);">
...
<html:text property="montexte" size="30"/>
...
<html:submit styleClass="smallbutton">Visu</html:submit>
</html:form> |
------visuForm.java
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public class visuForm extends Action{
public ActionForward execute ( ActionMapping mapg, ActionForm form, HttpServletRequest rqst, HttpServletResponse resp )
throws java.lang.Exception
{
HttpSession session= rqst.getSession() ;
ServletContext svlctx= session.getServletContext() ;
if (!(form instanceof DynaValidatorForm)) return mapg.findForward("home") ;
DynaValidatorForm fcForm= (DynaValidatorForm)form ;
String montexte= (String)fcForm.get("montexte") ;
return mapg.findForward("reponse") ;
}
} |
------struts-config.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <form-bean name="visuForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="montexte" type="java.lang.String"/>
</form-bean>
...
<action path="/visu"
type="struts.form.visuForm"
name="visuForm"
input="/index.jsp"
scope="session"
validate="false">
<forward name="reponse" path="visu"/>
</action> |
même si je l'ai désactivé j'ai mis ça dans le validation.xml :
Code:
1 2 3 4 5
| <form name="visuForm">
<field property="montexte">
<arg0 key="visuForm.urn"/>
</field>
</form> |
ainsi que ceci dans mon tiles-defs.xml (vu que j'utilise tiles...) :
Code:
1 2 3 4 5
| <definition name="visu" extends="mainLayout">
<put name="curPage" value="visu"/>
<put name="body" value="/pages/visu.jsp"/>
<put name="menuContent" value="admin;home;mdSearch;help"/>
</definition> |
merci de votre aide.
le name dans la balise <html:form>
Dans le cas d'une telle erreur regarder également si vous avez bien mis l'attribut name dans la balise <html:form> de votre jsp.
la balise doit avoir la forme suivante :
<html:form method="post" action="/monAction.do" name="monForm" type="classeDeMonForm ( chemin complet">
sans oublier de mentionner name et la classe dans struts-config.xml