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

Struts 1 Java Discussion :

Récupération de valeurs d'un formulaire dynamique


Sujet :

Struts 1 Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Récupération de valeurs d'un formulaire dynamique
    Salut,
    j'ai un formulaire dynamique sur ma JSP. En fait, mon formulaire doit pouvoir envoyer un nombre de pièces jointes au serveur qui est inconnu au chargement de la page. Pour faire ça, j'ai inséré un bout de Javascript qui ajoute un champ input de type file lors du clic sur un bouton.
    Le code généré est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <li><a href="#piecesjointes" onclick="$(this).parent().remove();"><img src="image/remove.png"></a><input name="piecejointe[1]" value="" class="piecejointe" id="1" type="file"></li>
    <li><a href="#piecesjointes" onclick="$(this).parent().remove();"><img src="image/remove.png"></a><input name="piecejointe[2]" value="" class="piecejointe" id="2" type="file"></li>
    <li><a href="#piecesjointes" onclick="$(this).parent().remove();"><img src="image/remove.png"></a><input name="piecejointe[3]" value="" class="piecejointe" id="3" type="file"></li>
    Dans mon bean associé à ce formulaire, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private FormFile[] piecejointe;
     
    	public FormFile[] getPiecejointe() {
    		return piecejointe;
    	}
     
    	public void setPiecejointe(FormFile[] piecejointe) {
    		this.piecejointe = piecejointe;
    	}
    Et lors de la soumission du formulaire, j'obtiens cette exception :

    javax.servlet.ServletException: BeanUtils.populate
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

    cause mère

    java.lang.NullPointerException
    org.apache.commons.beanutils.PropertyUtilsBean.setIndexedProperty(PropertyUtilsBean.java:1414)
    org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1016)
    org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
    org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    J'ai aussi essayé, comme déjà vu sur le net, de générer des champs input avec le même attribut name (et non pas avec un indice qui s'incrémente. J'obtiens alors :

    javax.servlet.ServletException: BeanUtils.populate
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

    cause mère

    java.lang.IllegalArgumentException: Cannot invoke logica.forms.DemandeForm.setPiecejointe - argument type mismatch
    org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778)
    org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759)
    org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
    org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
    org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
    org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
    org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    Est ce que ça vient du fait que ce ne soit pas un type String simple, mais un champ file ?
    Dernière modification par c_nvy ; 17/04/2009 à 11h40. Motif: Balises [CODE] remplacée par balises [QUOTE]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Récupération valeurs issues de formulaire dynamique
    Par stefsas dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/02/2010, 16h37
  2. Récupération de variable d'un formulaire dynamique
    Par The metalhorseman dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/02/2007, 11h29
  3. Récupérer valeur champs de formulaire dynamique
    Par antillejj dans le forum ASP
    Réponses: 1
    Dernier message: 22/12/2006, 07h17
  4. Réponses: 4
    Dernier message: 22/06/2006, 10h42
  5. récupération de valeur d'un formulaire
    Par greg64 dans le forum Langage
    Réponses: 5
    Dernier message: 18/10/2005, 17h03

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