IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Web Java Discussion :

[Débutant] Problème de formulaire


Sujet :

Spring Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 43
    Par défaut [Débutant] Problème de formulaire
    Bonjour ou bonsoir à tous!

    Voilà, j'ai un petit soucis avec Spring et les formulaires. Je vous donne mon code du formulaire

    infoDossier.jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
     
    <div>
    <form:form method="post" commandName="addBindInfraction">
    					<form:select path="niveau">
    						<c:forEach items="${model.collInfractions}" var="infraction">
    							<form:option value="${infraction.id}" >"${infraction.description}" ("${infraction.niveau}")</form:option>
    			        	</c:forEach>
    					</form:select>
    					<input type="submit" value="Ajouter" />
    				</form:form>
    			</div>
    Je vous donne le code du controller qui controle pas grand chose

    InfoController.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public ModelAndView onSubmit(Object command, BindException errors)
    	throws ServletException, Exception {
    		Infraction infraction = (Infraction) command;
    		dossier.addInfraction(infraction);
     
    		return super.onSubmit(command, errors);
    	}
    Maintenant la configuration de spring pour ce formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <bean name="/infoDossier.htm" class="ca.etsmtl.log720.equipe8.web.InfoController">
    	<property name="sessionForm" value="true"/>
    	<property name="commandName" value="addBindInfraction"/>
    	<property name="commandClass" value="ca.etsmtl.log720.equipe8.beans.Infraction"/>
    </bean>
    Lorsque j'exécute tout ce beau code la ca me donne l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'addBindInfraction' available as request attribute
    	at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141)
    	at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:172)
    	at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:192)
    	at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:158)
    	at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:145)
    	at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:136)
    	at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:120)
    	at org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:379)
    	at org.springframework.web.servlet.tags.form.SelectTag.writeTagContent(SelectTag.java:198)
    	at org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:90)
    	at org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:77)
    	at org.apache.jsp.jsp.infoDossier_jsp._jspService(infoDossier_jsp.java:169)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Ça fait au moin 3 bonnes heures que je cherche des informations la dessus et je ne trouve pas grand chose. Donc si quelqu'un pouvait m'aider ce serait apprécié.

    Merci!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 43
    Par défaut
    Bon je me réponds, j'ai trouvé que mon problème venait précisément de ces lignes de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form:select path="niveau">
    	<c:forEach items="${model.listeInfraction}" var="infraction">
    	    <form:option value="${infraction.id}" >"${infraction.description}" ("${infraction.niveau}")
                </form:option>
    	</c:forEach>
    </form:select>
    Lorsque j'enlève le select j'obtiens la liste, cependant j'ai besoin de l'Avoir dan sla liste hehe

  3. #3
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Par défaut
    Je ne sais pas si cela suffira à corriger ton problème (il y a peut être un problème de conf), mais déja évite de mélanger des tags jstl avec des tags spring, en général cela ne fonctionne pas. Pour le <form:select>, laisse Spring récupérer tous les éléments de ta iste, comme ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
              <form:select path="country">
                  <form:option value="-" label="--Please Select"/>
                  <form:options items="${countryList}" itemValue="code" itemLabel="name"/>
              </form:select>
    voir doc Spring.

    Il faut aussi que tu instancie ton objet command. Je ne me souviens plus très bien, mais il y a une méthode dans le controller à surcharger (formBackingObject peut être).

Discussions similaires

  1. [débutant] Problème de formulaire
    Par tooorop dans le forum Langage
    Réponses: 7
    Dernier message: 12/03/2009, 16h07
  2. Débutant: Problème sous formulaire
    Par jrogron dans le forum Access
    Réponses: 14
    Dernier message: 03/08/2006, 20h26
  3. problème traitement formulaire cgi(débutant)
    Par Shyboy dans le forum Web
    Réponses: 13
    Dernier message: 02/07/2006, 18h17
  4. [débutant]problème de formulaire
    Par maitreblitosaure dans le forum IHM
    Réponses: 4
    Dernier message: 12/06/2006, 14h05
  5. [débutant]petit problème sur formulaire avec onglets
    Par Christophe93250 dans le forum Access
    Réponses: 2
    Dernier message: 06/01/2006, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo