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

Développement Web en Java Discussion :

Récupération de l'id d'une ligne d'un tableau


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Par défaut Récupération de l'id d'une ligne d'un tableau
    Bonjour tout le monde, je travail avec struts+hibernate sous eclipse, en effet j'ai un tableau de données sur chaque ligne du tableau j'ai un bouton submit et je veux , dés que l'utilisateur clique sur l'une des lignes, récupérer l'id de cette ligne afin de la traiter. j'ai utiliser pour cela un champs hidden mais le problème c'est qu'il ne récupère que la première ligne même si je clique sur une autre ligne.
    voici ma jsp :

    <logic:iterate id="id" type="com.hibernate.beans.Data" name="AjoutForm" property="tableaulist">

    <tr>
    <td><bean:write name="id" property="num" /></td>

    <html:hidden property="num" value="<%=incident.getNum()%>"/>


    <td><bean:write name="id" property="debres"/></td>
    <td><bean:write name="id" property="finprev"/></td>
    <td><bean:write name="id" property="etat"/></td>
    <td>
    <html:submit onclick="AjouterForm()">submit</html:submit>

    </td>
    </tr>

    </logic:iterate>
    A votre avi comment peut on résoudre ce problème??

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Par défaut
    Bonjour ,

    une remarque simple dans ce genre de cas tu devrais passer tes variable en Get et non en POST , il y a une différence fondamentale entre les deux .

    Cependant si tu veux tout de même utiliser un submit tu dois avant de faire un hidden faire un bean:define sur la valeur de l'id voulu , et cette valeur sera disponible sur l'iteration de ton html:logic .

    Bref voilà un bout de code qui devrait résoudre ton pb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <logic:iterate id="iter" name="commande" property="articles" >
    			<tr>
    				<td><bean:write name="iter" property="idArticle" /></td>
    				<td><bean:write name="iter" property="nom" /></td>
    				<bean:define id="myIdArticleValue" name="iter" property="idArticle" />
    <td><input type="text" id="${myIdArticleValue}" value ="${myIdArticleValue}"  size="20" maxlength="20"/></td>
    				<td><html:link href="javascript:maj('${myIdArticleValue}','${myIdCommandeValue}')"><html:img src="images/Modifier.gif" /></html:link></td>
    				<td><html:link href="supprimer.do?idArticle=${myIdArticleValue}&idCommande=${myIdCommandeValue}"><html:img src="images/Supprimer.gif" /></html:link></td>
    			</tr>
    		</logic:iterate>

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Par défaut
    merciii pour votre réaction en fait j'ai fait un bean:define avant mon champs et pourtant ça marche pas voici ce que j'ai mis :
    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
     
    <logic:iterate id="id" type="com.hibernate.beans.Data" name="AjoutForm" property="tableaulist">
     
    <tr>	
    <td><bean:write name="id" property="num" /></td>
    <bean:define id="iddoss" name="id" property="num" />
     
    <html:hidden property="num" value="{$iddoss}"/>
     
     
    <td><bean:write name="id" property="debres"/></td>
    <td><bean:write name="id" property="finprev"/></td>
    <td><bean:write name="id" property="etat"/></td>
    <td> 
    <html:submit onclick="AjouterForm()">submit</html:submit>	
     
    </td>
    </tr>
     
    </logic:iterate>
    tjrs que la première ligne qui est récupéré, et voici ma focntion javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function escaladerForm()
    {
    document.forms[0].action = "Ajouter.do?method=ajouter" ;
    document.forms[0].submit();
    }
    puis dans ma fonction Dispatchaction : ajouter je récupére l'id avec un getParameter......................alors à votre avis pourquoi ça marche pas pour moi

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Par défaut
    si j'étais toi j'essaierais de passer la variable {$iddoss} fraichement créer en paramètre de ta fonction javascript.

    Puis dans la fonction javascript avant de submit je surcharge l'url , un peu comme tu as fait pour le parametre methode=ajouter

    je ferais un truc du genre :

    Ajouter.do?method=ajouter&num={$iddoss} ...

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Par défaut
    ça marche pas non plus, il n'accepte pas le fait de passer le iddoss comme parametre et ça génère des erreurs dés que je clique sur mon submit

  6. #6
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Avril 2004
    Messages : 160
    Par défaut
    Citation Envoyé par ramoucho75020 Voir le message
    si j'étais toi j'essaierais de passer la variable {$iddoss} fraichement créer en paramètre de ta fonction javascript.

    Puis dans la fonction javascript avant de submit je surcharge l'url , un peu comme tu as fait pour le parametre methode=ajouter

    je ferais un truc du genre :

    Ajouter.do?method=ajouter&num={$iddoss} ...
    Tu as essayé ce que ramoucho t'a proposé ? peut etre que la syntax qu tu as utilisé pour passer l'id dans la fct javascript est fausse ?

  7. #7
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Par défaut
    merci à vous tous d'avoir accepter de m'aider enfin j'ai pu résoudre mon problème et ceci en changeant le submit par un link . voila comment j'ai procédé ça serait surement utile pour d'autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <logic:iterate id="id" type="com.hibernate.beans.Data" name="AjoutForm" property="tableaulist">
     
    <tr>	
    <td><bean:write name="id" property="num" /></td>
    <bean:define id="iddoss" name="id" property="num" />
     
    <td><bean:write name="id" property="debres"/></td>
    <td><bean:write name="id" property="finprev"/></td>
    <td><bean:write name="id" property="etat"/></td>
    <td> 
    <bean:define id="code" name="id" property="num" type="java.lang.String"/>
    <html:link action="Ajout.do?method=editer" paramName="code" paramId="code">Edit</html:link>
    puis dans mon ajoutAction je récupére avec une request.getParameter("code") ;

  8. #8
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Avril 2004
    Messages : 160
    Par défaut
    puis dans ma fonction Dispatchaction : ajouter je récupére l'id avec un getParameter......................alors à votre avis pourquoi ça marche pas pour moi
    <logic:iterate > est une boucle, donc tu vas avoir autant de <html:hidden> que de ligne affichés, et c'est normal quand tu fai un submit tu submit aussi tous les hidden et de coup un getParameter te retourne tjr le premier.
    Pourquoi ne pas utiliser DisplayTag pour afficher ton tableau au lieu de la tag <logic:iterate> ??

  9. #9
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Par défaut
    merci bonano pour ta réponse, effectivement j'ai essayé d'utiliser le displaytag mais je n'ai pas réussi, donc j'ai laissé tombé et je retourne vers mon logic:iterate est qu'il y a pas moyen de récupérer l'idée avec le logic:iterate???

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/04/2009, 01h47
  2. CSS : un lien qui prend toute une ligne d'un tableau.
    Par pmithrandir dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 20/04/2005, 16h52
  3. Style d'une ligne d'un tableau et Checkbox
    Par echecetmat dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/01/2005, 15h03
  4. probleme bizarre de hauteur auto d'une ligne dans un tableau
    Par zax-tfh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/01/2005, 23h34

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