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 :

Probleme avec le DispatchAction


Sujet :

Struts 1 Java

  1. #21
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Je n'ai pas dit de mettre le scope de tous les form-bean à session.

    J'ai juste dit que si tu avais plusieurs actions liées au form-bean modification1Form, il fallait mettre le scope à session dans le mapping des actions concernées.
    Or, d'après ton struts-config.xml, tu n'as qu'une seule Action liée au form-bean modification1Form soit celle-ci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        <action
          attribute="modification1Form"
          input="/modification1.jsp"
          name="modification1Form"
          parameter="operation"
          path="/modification1"
          scope="session"
          type="com.iam.struts.action.Modification1Action">
          <forward name="tout" path="/modification1.jsp" />
        </action>
    tu n'as donc rien à modifier de ce côté-là.

    Sinon, étant donné que tu utilises le tag submit, le formulaire est bien soumis.
    Il n'y a donc pas besoin d'en ajouter un dans la fonction javascript appelée sur l'évènement onclick.

    Vu les éléments que tu donnes, l'ArrayList financeList que tu récupères via le getter de l'ActionForm dans la méthode save devrait contenir les éléments modifiés.

  2. #22
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Vu les éléments que tu donnes, l'ArrayList financeList que tu récupères via le getter de l'ActionForm dans la méthode save devrait contenir les éléments modifiés.
    J'ai regardé plusieurs fois mon code mais je ne trouve toujours pas pkoi mon application garde les anciens valeurs de la liste .

    Ca me travaille depuis ces derniers jours car je sais plus ou je dois regarder dans mon code pour remédier à ce problème.

    Normalement comme tu la dis ça devrais marcher ,cependant les choses se passent autrement lors de l'éxécution .C un peu daing je dois dire !

  3. #23
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Quelle version de Struts utilises-tu déjà ?

    Si vraiment les tags nested ne fonctionnent pas, ce que je ne comprends pas, tu peux utiliser le tag logic:iterate et les tags html:text en y ajoutant l'attribut indexed="true", ce qui t'oblige à ajouter un getter indexé sur l'objet Finance dans l'ActionForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public Finance getFinance(int i)
    {
       return (Finance) this.financeList.get(i);
    }
    avec dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <logic:iterate name="modification1Form" property="financeList" id="finance">
          <bean:write name="finance" property="type"/>        
          <html:text name="finance" property="jav" indexed="true"/>
          <html:text name="finance" property="fev" indexed="true"/>
          ...
    </logic:iterate>

  4. #24
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    J'utilise la version 1.1 de struts.

    Consernat le tag nested je pense qu'il marche tres bien puisque je n'est pas de probleme avec la consultation càd lors de l'affichage des tab.

    Je lis les données de mon tab à partir de ma BD et je l'ai affiches via le nested sans problème .Reste à voir le problème de modification qui necessite de récupérer le tab apres edition là je suis un peu confus.

  5. #25
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Je viens d'utiliser le <logic:iterate> au lieu du tag nested mais sans résultat favorable.

    Il y a un autre truc que j'ai laissé dans l'oublie durant tt le devloppment de mon application vue que j'avais les réponses attendues, il s'agit de certains erreur que me génére mon editeur (affiché dans la console).

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
     
    INFO: XML validation disabled
    log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
    log4j:WARN Please initialize the log4j system properly.
    14 déc. 2008 19:46:17 org.apache.coyote.http11.Http11AprProtocol start
    GRAVE: Erreur au démarrage du point de contact
    java.lang.Exception: Socket bind failed: [730048] Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée.  
    	at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:576)
    	at org.apache.tomcat.util.net.AprEndpoint.start(AprEndpoint.java:686)
    	at org.apache.coyote.http11.Http11AprProtocol.start(Http11AprProtocol.java:146)
    	at org.apache.catalina.connector.Connector.start(Connector.java:1090)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
    14 déc. 2008 19:46:17 org.apache.catalina.startup.Catalina start
    GRAVE: Catalina.start: 
    LifecycleException:  service.getName(): "Catalina";  Le démarrage du gestionnaire de protocole a échoué: java.lang.Exception: Socket bind failed: [730048] Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée.  
    	at org.apache.catalina.connector.Connector.start(Connector.java:1097)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
    14 déc. 2008 19:46:17 org.apache.catalina.startup.Catalina start
    INFO: Server startup in 1984 ms
    14 déc. 2008 19:46:17 org.apache.catalina.core.StandardServer await
    GRAVE: StandardServer.await: create[8005]: 
    java.net.BindException: Address already in use: JVM_Bind
    	at java.net.PlainSocketImpl.socketBind(Native Method)
    	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
    	at java.net.ServerSocket.bind(ServerSocket.java:319)
    	at java.net.ServerSocket.<init>(ServerSocket.java:185)
    	at org.apache.catalina.core.StandardServer.await(StandardServer.java:363)
    	at org.apache.catalina.startup.Catalina.await(Catalina.java:616)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

    Je ne faisait pas bcp attention à ça car j'avait pas de probléme qd j'éxécutais l'application ,mais sait-on jamais !

  6. #26
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Citation Envoyé par Viscapon Voir le message
    Je viens d'utiliser le <logic:iterate> au lieu du tag nested mais sans résultat favorable.
    C'est à dire ?
    Tu ne récupères toujours pas la liste avec modifs ou tu as un message d'erreur ?

    Quant au message d'erreur, il est lié au fait que Tomcat cherche à utiliser un port qui est déjà pris, soit le 8005.
    Pour éviter le message d'erreur, il faudrait soit arrêter l'appli qui utilise ce port, soit modifier le port utilisé par Tomcat dans le fichier server.xml du répertoire conf.

  7. #27
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    C'est à dire ?
    Tu ne récupères toujours pas la liste avec modifs ou tu as un message d'erreur ?
    Non il n'a plus de message d'erreur le seul message d'erreur que j'ai en ce mement c'est celui qui est donné par tomcat .

    A part ça aucun message d'erreur.

    Quand j'ai dis que le <logique:iterate > donnait le meme resultat que le nested ça voulait dire que je récupére pas ma FinaceListe apres édition ,lui aussi il récupère l'ancienne finaceliste au lieu de la nouvelle.

    C'est le seul probléme que j'ai en ce moment :récupérer ma financeliste (ArrayList <Fiance>) aprés saisit et modification.

  8. #28
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    C'est incompréhensible que ça ne fonctionne pas dans les deux cas.
    La méthode save est-elle quand même appelée ?

    Pourrais-tu donner le code complet de la jsp ?

  9. #29
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    C'est incompréhensible que ça ne fonctionne pas dans les deux cas.
    ON est deux alors .Pracque moi aussi je trouve ça anormale

    Voila le code complet de ma 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
     
     
    <%@ page language="java" pageEncoding="ISO-8859-1"%>
     
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %>
     
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html locale="true">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <html:base />
     
        <title>budget.jsp</title>
     
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<SCRIPT language="javascript" type="text/javascript">function set(target) {document.modification1Form.operation.value=target;}</SCRIPT>
     
     
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
     
        <style type="text/css">
    <!--
    #Layer1 {
    	position:absolute;
    	left:346px;
    	top:171px;
    	width:395px;
    	height:97px;
    	z-index:1;
    	background-color: #D04A24;
    }
    .Style1 {
    	font-size: 24px;
    	font-weight: bold;
    	font-family: "Times New Roman", Times, serif;
    }
    #Layer2 {
    	position:absolute;
    	left:199px;
    	top:282px;
    	width:950px;
    	height:446px;
    	z-index:2;
    }
    .Style2 {
    	font-size: 24px;
    	font-weight: bold;
    }
    .Style3 {
    	font-size: 18px;
    	font-weight: bold;
    }
    .Style5 {font-size: 18px; font-weight: bold; color: #CC0000; }
    .Style6 {color: #CC0000}
    -->
        </style>
        <script type="text/JavaScript">
    <!--
    function MM_jumpMenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
    }
    //-->
        </script>
      </head>
     
      <body>
     
    <html:form action="/modification1"> 
    <html:hidden property="operation" value="save"/>
    <div id="Layer1" style="top: 108px; left: 366px; height: 70px; width: 389px;">
        <div align="center">
          <p><font size="5"><strong><br>Modification du budget Etude&nbsp;</strong></font></p>
     
        </div>
      </div>
      <div id="Layer2" style="top: 231px; left: 121px; height: 416px;">
        <blockquote>
     
          <p>&nbsp;</p>
          <form name="form1">
            <div align="center">
     
    			annee : <html:select property="annee" onchange="set('lire');submit();">
     
    			<html:option value ="2007">2007</html:option>
                <html:option value ="2008">2008</html:option>
                <html:option value ="2009">2009</html:option>
                <html:option value ="2010">2010</html:option>
              </html:select>
              <html:errors property="annee"/><br/>
              <br/><br/>
              <br> 
               <html:submit onclick="set('save')">SAVE</html:submit>
            </div>
          </form>
          <p>&nbsp;</p>
          <logic:notEmpty name="modification1Form" property="financeList">
         <table border="4" cellpadding="4" cellspacing="2" style="left: 20px; width: 1000px; top: 180px; height: 170px;" >
       <tr bgcolor="#993300">
              <th width="10" bgcolor="#333366" scope="col"><p>Budget</p>
              <p>(MDH)</p></th>
              <th width="8" scope="col">Jav</th>
              <th width="8" scope="col">Fev</th>
              <th width="8" scope="col">Mars</th>
              <th width="8" scope="col">Avril</th>
              <th width="8" scope="col">Mai</th>
              <th width="8" scope="col">Juin</th>
              <th width="8" scope="col">Juil</th>
              <th width="8" scope="col">Aout</th>
              <th width="8" scope="col">Sept</th>
              <th width="8" scope="col">Oct</th>
              <th width="8" scope="col">Nov</th>
              <th width="8" scope="col">D&eacute;c</th>       
            </tr>
            <tr>
            <nested:iterate property="financeList">
              <th height="65" bgcolor="#333366" scope="row"><nested:write property="type"/></th>          
         <td width="8"/><nested:text  size="5" property="jav"  />
          <td width="8"/><nested:text  size="5" property="fev" />
           <td width="8"/><nested:text  size="5" property="mars" />
         <td width="8"/><nested:text  size="5" property="avril" />
           <td width="8"/><nested:text  size="5" property="mai" />
          <td width="8"/><nested:text  size="5" property="juin" />
          <td width="8"/><nested:text  size="5" property="juil" />
          <td width="8"/><nested:text  size="5" property="aout" />
           <td width="8"/><nested:text  size="5" property="sep" />
           <td width="8"/><nested:text  size="5" property="oct" />
            <td width="8"/><nested:text  size="5" property="nov" />
           <td width="8"/><nested:text  size="5" property="dec" />
            </tr>
            <tr>
             </nested:iterate>
       </logic:notEmpty>	         
          </table>     
          <p></p>
     
        </blockquote><div><br><br><div><input type="button" value="Precedent" name="button3" onclick="location.replace('budget.jsp')"></div><div> 
      </div></div><div></div></div>
      <div align="center"><img src="./img/wali.gif" alt="h" width="1192" height="784">  </div>
     
      </html:form>
      </body>
    </html:html>

  10. #30
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    C'est quoi cette balise <form name="form1"> ?

    Tu as donc un form dans un autre form.
    Voilà pourquoi ça ne fonctionne pas.
    Il faut enlever cette balise form.

  11. #31
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    T'es un ange c nvy .

    Tu viens de me débloquer la situation .Merci infiniment.
    C'est idiot de ma part.
    Mais vue que j'utilise myeclipse ça me permet d'ajouter des forme automatiquement et ma liste déroulante je l'ai ajouté au début de cette manière d'ou cette fameuse balise forme.

    Mérci encore une fois.

  12. #32
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Le principal, c'est d'avoir trouvé la solution.
    En fait, j'aurais pu la trouver plus tôt si j'avais eu sous les yeux le code complet de la jsp.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Probleme avec DispatchAction
    Par tomy29 dans le forum Struts 1
    Réponses: 20
    Dernier message: 06/11/2008, 16h09
  2. Probleme avec DispatchAction
    Par L Ankou dans le forum Struts 1
    Réponses: 3
    Dernier message: 11/02/2008, 09h56
  3. probleme avec DispatchAction
    Par ayoub2010 dans le forum Struts 1
    Réponses: 9
    Dernier message: 05/05/2007, 12h16
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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