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 :

Afficher un second tableau Struts + Javascript


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Par défaut Afficher un second tableau Struts + Javascript
    Bonjour,

    J'ai un souci. Un second tableau doit apparaitre en dessou du premier tableau une fois un lien cliqué sur le premier tableau. Or mon souci est que déjà d'une le second tableau vide (en-tête et pied du tableau) apparait d'office lorsque l'on se connecte à la page.

    Je ne sais pas s'il est correct de faire ceci :
    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
     
    <tbody>
     <tr>
       <logic:iterate id="MIFetatACAV" name="ListEtatACAV" >
        <tr>
         <td align="center"><bean:write name="MIFetatACAV" property="idsupport"/></td>
         <td align="center"><bean:write name="MIFetatACAV" property="libellecourt"/></td>				
         <td align="center"><bean:write name="MIFetatACAV" property="valeur"/></td>					
         <td align="center"><bean:write name="MIFetatACAV" property="montantacavp"/></td>
         <td align="center"><bean:write name="MIFetatACAV" property="montantacava"/></td>	
         <td align="center">
    <a href="#" onclick="javascript:AffichePopup('AfficheTableauAcav','OK');return false;">
     
             <html:link action="initEtatACAV" paramName="MIFetatACAV" paramId="idacavattente" paramProperty="idacavattente">								
               <bean:write name="MIFetatACAV" property="montantacavattente"/>
             </html:link></a></td>
        <logic:present name="cache" scope="session">
     
           <td align="center"><bean:write name="MIFetatACAV" property="idacavattente"/></td>	
     
        </logic:present>	
       </tr>
      </logic:iterate>
     </tr>	
    </tbody>	
     
     
    <!-- Fin du tableau ACAV-->
    <!-- Début du tableau FLUXACAV-->
    <!-- Affichage du tableau -->
    <div id="AfficheTableauAcav" style="display:none">	
    <logic:equal property="hasResultFlux" name="mifRechercheFluxActionForm"  value="true" > 
    <table class="table-autopage:6 table-page-number:t1page table-page-count:t1pages table-stripeclass:alternative tablelist">
     
    <thead>
    <p></p>
    <p></p>
     
    <tr class="tdhead1">
     
    <td colspan="14"><i>Support 1 : Flux comptabilisés pour l'ACAV en attente</i></td>
     
    </tr>	
    <tr class="tdhead">
    <td colspan="2"><bean:message key="num.flux"/></td>
    <td><bean:message key="type.date.valeur"/></td>
    <td><bean:message key="label.montant"/></td>
    <td><bean:message key="parts.pro"/></td>
    <td><bean:message key="cours.pro"/></td>
    <td><bean:message key="parts.def"/></td>
    <td><bean:message key="cours.def"/></td>
    <td><bean:message key="label.di"/></td>
    <td><bean:message key="label.rf"/></td>
    <td><bean:message key="label.statut"/></td>
    <td><bean:message key="label.type"/></td>
    <td colspan="2"><bean:message key="label.support"/></td>
    </tr>
    </thead>
     
    <logic:notEmpty name="mifRechercheFluxActionForm" property="listResult" >
     
    <tbody>
    <tr>
     
    <logic:iterate id="ligneFlux" name="mifRechercheFluxActionForm" property="listResult" type="intCommunBean.flux.MifResultRechercheFluxBean" indexId="index" >
    <tr>
    <td colspan="2">
     
    <html:link action="initEtatACAV" paramName="ligneFlux" paramId="numeroFlux" paramProperty="numeroFlux">
     
       <bean:write name="ligneFlux" property="numeroFlux"/></html:link> </td>
       <td><bean:write name="ligneFlux" property="strValeur"/></td> 
       <td><bean:write name="ligneFlux" property="montant"/></td>
       <td><bean:write name="ligneFlux" property="partsPro"/></td>
       <td><bean:write name="ligneFlux" property="coursPro"/></td>
       <td><bean:write name="ligneFlux" property="partsDef"/></td>
       <td><bean:write name="ligneFlux" property="coursDef"/></td>
       <td><bean:write name="ligneFlux" property="di"/></td>
       <td><bean:write name="ligneFlux" property="rf"/></td>
       <td><bean:write name="ligneFlux" property="typeStatut"/></td>
       <td><bean:write name="ligneFlux" property="type"/></td>
     
       <td colspan="2"><bean:write name="ligneFlux" property="support"/></td> 
      </tr>
      </logic:iterate>
     </tr>
    </tbody>
    Pour le javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function AffichePopup(id, action) {
    	var d = document.getElementById(id);
    	if (d.style.display == "")	{
    			d.style.display = "block";
    		} else {
    			d.style.display = "";
    		} 
     
    }

  2. #2
    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
    Essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="AfficheTableauAcav" style="visibility:hidden">
    et dans la fonction Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(id).style.visibility="visible";

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="AfficheTableauAcav" style="visibility:hidden">
    et dans la fonction Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(id).style.visibility="visible";
    Bonjour,

    Donc en remplaçant par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="AfficheTableauAcav" style="visibility:hidden">
    et en remplaçant dans le javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script language="javascript">
    function AffichePopup1(id, action) {
    	var d = document.getElementById(id);
    	if (d.style.display == "")	{
    			d.style.visibility = "visible";
    		} else {
    			d.style.display = "";
    		} 
     
    }
    </script>
    Mais est-ce que ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <td align="center">
    <a href="#" onclick="javascript:AffichePopup1('AfficheTableauAcav','OK');return false;">
    <html:link action="initEtatACAV" paramName="MIFetatACAV" paramId="idacavattente" paramProperty="idacavattente">	
    <bean:write name="MIFetatACAV" property="montantacavattente"/>
    </html:link></a></td>
    ça peut marcher?

    alors normalement dans le premier tableau, j'ai une colonne avec des liens dynamiques en fonction des résultats de la colonne.
    La chose est que html:link rend le contenu de la colonne en lien et je récupère le property: idacavattente qui me permettra de lancer la seconde requête sql qui va me permettre d'afficher le contenu du second tableau.
    le javascript :

    <a href="#" onclick="javascript:AffichePopup1('AfficheTableauAcav','OK');return false;">

    Me permet que lorsque l'on click sur un lien du premier tableau de faire afficher un block ( mon second tableau ) d'un état :

    <div id="AfficheTableauAcav" style="visibility:hidden">

    Hidden à un état visible.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script language="javascript">
    function AffichePopup1(id, action) {
    	var d = document.getElementById(id);
    	if (d.style.display == "")	{
    			d.style.visibility = "visible";
    		} else {
    			d.style.display = "";
    		} 
     
    }
    </script>
    Mon javascript si je cromprend bien fait que si
    document.getElementById(id)style.display == "" alors le block sera visible
    et si différent de "" alors il sera vide.

    J'ai essayé en inversant car je veux que lorsque l'on click sur le lien, le second tableau apparaisse et pas avant.
    donc j'ai remplacé par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script language="javascript">
    function AffichePopup1(id, action) {
    	var d = document.getElementById(id);
    	if (d.style.visibility == "")	{
    			d.style.visibility = "hidden";
    		} else {
    			d.style.visibility = "visible";
    		} 
     
    }
    </script>
     
    Mais rien n'y fait. le second tableau du moins le thead et tfoot s'affiche à la connexion à la page.

  4. #4
    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 ne sais pas pourquoi le style="visibility:hidden" ne fonctionne pas dans le div mais pourquoi ne pas mettre tout simplement tout le code d'affichage du deuxième tableau à l'intérieur du tag logic:notEmpty :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <logic:notEmpty name="mifRechercheFluxActionForm" property="listResult" >
       ...
    </logic:notEmpty>
    et dans ce cas, il n'est plus utile d'utiliser la fonction Javascript et il suffit de coder le lien comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <td align="center">
       <html:link action="initEtatACAV" paramName="MIFetatACAV" paramId="idacavattente" paramProperty="idacavattente">	
          <bean:write name="MIFetatACAV" property="montantacavattente"/>
       </html:link>
    </td>
    EDIT : en fait, dans le code que tu as posté, je ne vois pas la balise de fermeture </div>, ce qui pourrait expliquer le dysfonctionnement du visibility à hidden.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Je ne sais pas pourquoi le style="visibility:hidden" ne fonctionne pas dans le div mais pourquoi ne pas mettre tout simplement tout le code d'affichage du deuxième tableau à l'intérieur du tag logic:notEmpty :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <logic:notEmpty name="mifRechercheFluxActionForm" property="listResult" >
       ...
    </logic:notEmpty>
    et dans ce cas, il n'est plus utile d'utiliser la fonction Javascript et il suffit de coder le lien comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <td align="center">
       <html:link action="initEtatACAV" paramName="MIFetatACAV" paramId="idacavattente" paramProperty="idacavattente">	
          <bean:write name="MIFetatACAV" property="montantacavattente"/>
       </html:link>
    </td>
    EDIT : en fait, dans le code que tu as posté, je ne vois pas la balise de fermeture </div>, ce qui pourrait expliquer le dysfonctionnement du visibility à hidden.
    Bonjour,

    Alors, la balise </div> se trouvait à la fin du second tableau.
    J'ai essayé de passer par du logic:present, du logic:notEmpty
    Mais je ne sais pas pourquoi le second tableau s'affiche.
    Est-ce que logic:notEmpty ou logic:present masque aussi le thead et le tfoot ou juste les beans?

    Voici le code au 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
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
     
    <%@ page contentType="text/html; charset=UTF-8"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
    	prefix="html"%>
    <%@ taglib uri="/tags/struts-logic" prefix="logic"%>
    <%@ taglib uri="/tags/struts-bean" prefix="bean"%>
     
     
     
     
     
     
    <script language="javascript">
    function afficherListeFlux2(){
    var msg="menu.recherche.flux";
    alert(msg);
    }
    </script>
     
     
    <head>
    	<title><bean:message key="title.name"/></title>
     
    	<link rel="stylesheet" type="text/css" media="screen" title="1024x768"
    		href="./styles/MIF_main.css" />
    	<link rel="stylesheet" type="text/css" media="screen" title="cadre"
    		href="./styles/MIF_cadre.css" />
    	<link rel="stylesheet" type="text/css" media="screen" title="menu"
    		href="./styles/MIF_menu.css" />
    	<link rel="stylesheet" type="text/css" href="./styles/datepicker.css" />
     
    	<script type="text/javascript" src="./scripts/datepicker.js"></script>
    	<script type="text/javascript" src="./scripts/styleswitcher.js"></script>
    	<script type="text/javascript" src="./scripts/table.js"></script>
    	<script type="text/javascript" src="./scripts/script.js"></script>
    </head>
    <!-- <body onLoad="cacherTableauAcav()";> -->
    <body>
     
     
    				<!-- contenu de la page -->
    				<div id="CorpsPage">
     
                    	<div id="legend">&nbsp;</div>
                    	<div id="legend">Rapprochement ACAV</div>
                    	<div id="legend">&nbsp;</div>
     
                    	<div>&nbsp;</div>                	
                    	<div class="texteVertMarge">Rapprochement ACAV au
                    	<b>
    						<SCRIPT LANGUAGE="JavaScript">
    						var maintenant=new Date();
    						var jour=((maintenant.getDate()<10) ? " 0" : " ") +maintenant.getDate();
    						var mois=((maintenant.getMonth()+1< 10) ? " 0" : " ") + (maintenant.getMonth()+1);
    						var an=maintenant.getFullYear();
    						document.write(jour,"/",mois,"/",an);
    						</SCRIPT>
     
     
     
                    	</b></div>
                    	<div>&nbsp;</div>
                    	<div>&nbsp;</div>
                    	<div class="texteVertMarge">Date d'import du passif : <b><bean:write name="dateimportpassif" /></b></div>
                    	<div>&nbsp;</div>
                    	<div class="texteVertMarge">Date d'import de l'actif : <b><bean:write name="dateimportactif" /></b></div>    
     
    					<div>
    						<div >
    							<table class="table-autopage:6 table-page-number:t1page table-page-count:t1pages table-stripeclass:alternative tablelist">
    								<thead>
    									<tr class="tdhead">
     
    										<td>N° / <bean:write name="nbrlignes" />    lignes</td>  
    										<td>Support</td>
    										<td>VL</td>										
    										<td>Passif</td>
    										<td >Actif</td>
    										<td >En attente</td>
    									</tr>
    			                   	</thead>
     
    			                   	<tbody>
    									<tr>
    										<logic:iterate id="MIFetatACAV" name="ListEtatACAV" >
    											<tr>
    	    										<td align="center"><bean:write name="MIFetatACAV" property="idsupport"/></td>
    											   <td align="center"><bean:write name="MIFetatACAV" property="libellecourt"/></td>										   
    											   <td align="center"><bean:write name="MIFetatACAV" property="valeur"/></td>											   
    											   <td align="center"><bean:write name="MIFetatACAV" property="montantacavp"/></td>
    											   <td align="center"><bean:write name="MIFetatACAV" property="montantacava"/></td>	
    												<td align="center">
    												   <html:link action="initEtatACAV" paramName="MIFetatACAV" paramId="idacavattente" paramProperty="idacavattente">	
    												      <bean:write name="MIFetatACAV" property="montantacavattente"/>
    												   </html:link>
    												</td>
    											</tr>
    										</logic:iterate>
    									</tr>	
    								</tbody>	
    								<tfoot>
    								<tr class="tdhead">
    									<td colspan="1" class="table-page:1 cursor:pointer text-align:right" width="5%" id="first"><<</td>
    									<td colspan="1" class="table-page:previous cursor:pointer text-align:right" width="5%" id="previous"><</td>
    									<td colspan="2" style=text-align:center;>Page <script language="javascript">document.write(t1page+"/"+t1pages)</script></td>
    									<td colspan="1" class="table-page:next cursor:pointer;text-align:right;" width="5%" id="next">></td>
    									<td colspan="1" class="table-page:t1pages cursor:pointer;text-align:right;" width="5%" id="end">>></td>
    								</tr>
    							</tfoot>
     
     
                    		<!-- Fin du tableau ACAV-->
     
                    		<!-- Début du tableau FLUXACAV-->
     
     
    				<!-- Affichage du tableau -->
     
    						<logic:notEmpty name="mifRechercheFluxActionForm" property="listResult" >				  
     						<table class="table-autopage:6 table-page-number:t1page table-page-count:t1pages table-stripeclass:alternative tablelist">
    					                 <thead>
    					                 <p></p>
    					                 <p></p>
     
    					           		<tr class="tdhead1">
    										<td colspan="14"><i>Support 1 : Flux comptabilisés pour l'ACAV en attente</i></td>
    									</tr>	
    					                 <tr class="tdhead">
     
    									<td colspan="2"><bean:message key="num.flux"/></td>
    									<td><bean:message key="type.date.valeur"/></td>
    									<td><bean:message key="label.montant"/></td>
    									<td><bean:message key="parts.pro"/></td>
    									<td><bean:message key="cours.pro"/></td>
    									<td><bean:message key="parts.def"/></td>
    									<td><bean:message key="cours.def"/></td>
    									<td><bean:message key="label.di"/></td>
    									<td><bean:message key="label.rf"/></td>
    									<td><bean:message key="label.statut"/></td>
    									<td><bean:message key="label.type"/></td>
    									<td colspan="2"><bean:message key="label.support"/></td>
    								</tr>
    		                   	    </thead>
     
     
    		                   	   <tbody>
    									<tr>
     
    										<logic:iterate id="ligneFlux" name="mifRechercheFluxActionForm" property="listResult" type="intCommunBean.flux.MifResultRechercheFluxBean" indexId="index" >
    										<tr>
    									<td colspan="2">
    									<html:link action="initEtatACAV" paramName="ligneFlux" paramId="numeroFlux" paramProperty="numeroFlux">
    										<bean:write name="ligneFlux" property="numeroFlux"/></html:link> </td>
    									<td><bean:write name="ligneFlux" property="strValeur"/></td> 
    									<td><bean:write name="ligneFlux" property="montant"/></td>
    									<td><bean:write name="ligneFlux" property="partsPro"/></td>
    									<td><bean:write name="ligneFlux" property="coursPro"/></td>
    									<td><bean:write name="ligneFlux" property="partsDef"/></td>
    									<td><bean:write name="ligneFlux" property="coursDef"/></td>
    									<td><bean:write name="ligneFlux" property="di"/></td>
    									<td><bean:write name="ligneFlux" property="rf"/></td>
    									<td><bean:write name="ligneFlux" property="typeStatut"/></td>
     
    									<td><bean:write name="ligneFlux" property="type"/></td>
    									<td colspan="2"><bean:write name="ligneFlux" property="support"/></td> 
    									</tr>
            				                </logic:iterate>
    								</tr>
    							</tbody>								
    							<tfoot>
    								<tr class="tdhead">
    									<td colspan="1" class="table-page:1 cursor:pointer text-align:right" width="5%" id="first"><<</td>
    									<td colspan="1" class="table-page:previous cursor:pointer text-align:right" width="5%" id="previous"><</td>
    									<td colspan="10" style=text-align:center;>Page <script language="javascript">document.write(t1page+"/"+t1pages)</script></td>
    									<td colspan="1" class="table-page:next cursor:pointer;text-align:right;" width="5%" id="next">></td>
    									<td colspan="1" class="table-page:t1pages cursor:pointer;text-align:right;" width="5%" id="end">>></td>
    								</tr>
    							</tfoot>
    						</table>
     
    					</logic:notEmpty>
    					<!-- Fin du tableau -->
     
                        <!-- Affichage du detail-->
     
                        <logic:equal property="showDetail" name="mifRechercheFluxActionForm"  value="true">
     
                        <div id="espace">&nbsp;</div>
    					<bean:define id="mifDetailFlux" name="mifRechercheFluxActionForm" property="mifDetailFlux" type="intCommunBean.flux.MifDetailFlux" scope="session"></bean:define>
    					<div id="detailFluxSelected">
    						<div class="detail">
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.flux"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="idFlux"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.sunshine"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="idSunShine"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.type"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="typeStatut"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.statut"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="statut"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.statut.di"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="statutDI"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
     
    						</div>
    						<div class="detail">
     
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.montant"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strMontant"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.d.i"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strDi"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.r.f"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strResultatFinancier"/></a></nobr></p>
    						</div>
    						<div class="detail">
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="nombre.pro"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strNombreProvisoire"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="cours.pro"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strCoursProvisoire"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.nombre.def"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strNombreDef"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.cours.def"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strCoursDef"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    						</div>
    						<div class="detail">
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.num.ordre.un"/> :</a>&nbsp;<a href='/INTCLINFOC/rechercheOrdrePourFlux.do?rechecher=ordre&selectedOrdre=<bean:write name="mifDetailFlux" property="numOrdre1"/>' class="texteVert"><bean:write name="mifDetailFlux" property="numOrdre1"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.date.nego.un"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strDateNego1"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.date.exe.un"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strDateExec1"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.cours.reel.un"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strCoursReel"/></a></nobr></p>
    						</div>
    						<div class="detail">
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.num.ordre.deux"/> :</a>&nbsp;<a href='/INTCLINFOC/rechercheOrdre.do?rechecher=ordre&selectedOrdre=<bean:write name="mifDetailFlux" property="numOrdre2"/>' class="texteVert"><bean:write name="mifDetailFlux" property="numOrdre2"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.date.nego.deux"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strDateNego2"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.date.exec.deux"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strDateExec2"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.cours.ecart"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strCoursEcart"/></a></nobr></p>
    						</div>
    						<div class="detail">
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.date.saisie"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strDateSaisie"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.date.integration"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strDateIntegration"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.date.valeur"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="strDateValeurP"/></a></nobr></p>
    						</div>
    						<div class="detail">
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.support"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="support"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.acte"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="acte"/></a></nobr></p>
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a class="texteVertGras"><bean:message key="label.contrat"/> :</a><a class="texteVert">&nbsp;<bean:write name="mifDetailFlux" property="contrat"/></a></nobr></p>
    						</div>
    						<div class="detail">
    							<p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr>&nbsp;</nobr></p>
    							<p class="espacementh-c">&nbsp;</p><p class="espacementh-c">&nbsp;</p><p class="espacementh-c">&nbsp;</p>
    							<p class="flottant"><nobr><a href="javascript:cacherDetailFlux();" class="texteVert"><bean:message key="lien.cacher.detail.flux"/></a></nobr></p>
    						</div>
    					</div>
    					</logic:equal>
    					</table>
     
                                  <!-- Fin du detail-->
          			<!-- Fin Corps -->
          			</div>
     
    <div id="container">
    <a href="#" onclick="AffichePopup(test','OK');return false;">999.999.999,99111</a>
      <div id="test" style="display:none"> test231 </div>    
    </div>
     
    </body>

  6. #6
    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
    Normalement, tout ce qui est à l'intérieur d'une balise logic:notEmpty ne doit pas s'afficher si listResult est vide ou égale à null.

    Si ça s'affiche, c'est que listResult est remplie.
    Comment initialises-tu listResult dans l'ActionForm ?
    Peux-tu montrer le code ?

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Normalement, tout ce qui est à l'intérieur d'une balise logic:notEmpty ne doit pas s'afficher si listResult est vide ou égale à null.

    Si ça s'affiche, c'est que listResult est remplie.
    Comment initialises-tu listResult dans l'ActionForm ?
    Peux-tu montrer le code ?
    à mon avis c'est ça qui doit me manquer. Pourtant par moment le tableau s'initialise. Peut être lors du redéployement...

    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
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
     
    package intPresentation.flux.actionForm;
     
    import intCommunBean.flux.MifDetailFlux;
    import intMetier.flux.entite.MifFlux;
     
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import java.util.TreeMap;
     
    import javax.servlet.http.HttpServletRequest;
     
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
     
    public class MifRechercheFluxActionForm extends ActionForm {
     
    	private long numFlux;
    	private long idacavattente;
    	private long numOrder;
    	private List listTypeDate = new ArrayList();
    	private Date dateBegin;
    	private Date dateEnd;
    	private String typeDate;
    	private String selectedTypeFlux;
    	private String selectedStatut;
    	private String selectedStatutDI;
    	private String selectedSupport;
    	private String selectedTypeDate;
    	private List listTypeFlux= new ArrayList();
    	private TreeMap listStatut= new TreeMap();
    	private TreeMap listStatutDI= new TreeMap();
    	private TreeMap listSupport= new TreeMap();
    	private List listResult = new ArrayList();
    	private MifFlux mifFlux;
    	private boolean hasResultFlux = false;
    	private boolean showDetail = false;
    	private MifDetailFlux mifDetailFlux = new MifDetailFlux();
     
     
     
     
     
     
     
    	public boolean isShowDetail() {
    		return showDetail;
    	}
    	public void setShowDetail(boolean showDetail) {
    		this.showDetail = showDetail;
    	}
    	public boolean isHasResultFlux() {
    		return hasResultFlux;
    	}
    	public void setHasResultFlux(boolean hasResultFlux) {
    		this.hasResultFlux = hasResultFlux;
    	}
    	public List getListResult() {
    		return listResult;
    	}
    	public void setListResult(List listResult) {
    		this.listResult = listResult;
    	}
    	public long getNumFlux() {
    		return numFlux;
    	}
    	public void setNumFlux(long numFlux) {
    		this.numFlux = numFlux;
    	}
    	public long getNumOrder() {
    		return numOrder;
    	}
    	public void setNumOrder(long numOrder) {
    		this.numOrder = numOrder;
    	}
    	public List getListTypeDate() {
    		return listTypeDate;
    	}
    	public void setListTypeDate(List listTypeDate) {
    		this.listTypeDate = listTypeDate;
    	}
    	public Date getDateBegin() {
    		return dateBegin;
    	}
    	public void setDateBegin(Date dateBegin) {
    		this.dateBegin = dateBegin;
    	}
    	public Date getDateEnd() {
    		return dateEnd;
    	}
    	public void setDateEnd(Date dateEnd) {
    		this.dateEnd = dateEnd;
    	}
    	public List getListTypeFlux() {
    		return listTypeFlux;
    	}
    	public void setListTypeFlux(List listTypeFlux) {
    		this.listTypeFlux = listTypeFlux;
    	}
     
    	public String getSelectedTypeFlux() {
    		return selectedTypeFlux;
    	}
    	public void setSelectedTypeFlux(String selectedTypeFlux) {
    		this.selectedTypeFlux = selectedTypeFlux;
    	}
    	public String getSelectedStatut() {
    		return selectedStatut;
    	}
    	public void setSelectedStatut(String selectedStatut) {
    		this.selectedStatut = selectedStatut;
    	}
    	public String getSelectedStatutDI() {
    		return selectedStatutDI;
    	}
    	public void setSelectedStatutDI(String selectedStatutDI) {
    		this.selectedStatutDI = selectedStatutDI;
    	}
    	public String getSelectedSupport() {
    		return selectedSupport;
    	}
    	public void setSelectedSupport(String selectedSupport) {
    		this.selectedSupport = selectedSupport;
    	}
    	public String getSelectedTypeDate() {
    		return selectedTypeDate;
    	}
    	public void setSelectedTypeDate(String selectedTypeDate) {
    		this.selectedTypeDate = selectedTypeDate;
    	}
    	public String getTypeDate() {
    		return typeDate;
    	}
    	public void setTypeDate(String typeDate) {
    		this.typeDate = typeDate;
    	}
    	public MifFlux getMifFlux() {
    		return mifFlux;
    	}
    	public void setMifFlux(MifFlux mifFlux) {
    		this.mifFlux = mifFlux;
    	}
    	public TreeMap getListStatut() {
    		return listStatut;
    	}
    	public void setListStatut(TreeMap listStatut) {
    		this.listStatut = listStatut;
    	}
    	public TreeMap getListStatutDI() {
    		return listStatutDI;
    	}
    	public void setListStatutDI(TreeMap listStatutDI) {
    		this.listStatutDI = listStatutDI;
    	}
    	public TreeMap getListSupport() {
    		return listSupport;
    	}
    	public void setListSupport(TreeMap listSupport) {
    		this.listSupport = listSupport;
    	}
    	public MifDetailFlux getMifDetailFlux() {
    		return mifDetailFlux;
    	}
    	public void setMifDetailFlux(MifDetailFlux mifDetailFlux) {
    		this.mifDetailFlux = mifDetailFlux;
    	}
    	public long getIdacavattente() {
    		return idacavattente;
    	}
    	public void setIdacavattente(long idacavattente) {
    		this.idacavattente = idacavattente;
    	}
     
     
     
     
    }

  8. #8
    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
    Es-tu bien sûr de ne remplir listResult que dans l'Action exécutée lors du clic sur le lien ?

  9. #9
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Es-tu bien sûr de ne remplir listResult que dans l'Action exécutée lors du clic sur le lien ?
    Hmmm Je ne suis pas certains car un autre lien permet en fonction du moteur de recherche d'afficher le meme tableau mais donc avec un contenu différent.

    Moi je fais appel à ce tableau par le biais de lien de mon premier tableau.

    Ceci dit, si l'on ne lance pas le moteur de recherche, il retourne rien donc pour moi ça tombe dans le sens que la liste devrait être vide lors de l'accès à la page aux deux tableaux. Enfin tu me mets un doute, faut que je vois.

    Ok pour répondre à ta question, oui je rempli listResult dans ma page dans l'action exécutée lors du clic sur le lien.


    Ma page action
    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
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
     
    package INTetatACAV.etatACAV.action;
     
    import intCommunBean.cartouche.MifCartoucheEnteteBean;
    import intCommunBean.flux.MifDetailFlux;
    import INTetatACAV.etatACAV.metier.entite.MifFlux;
    import INTetatACAV.etatACAV.metier.usecase.MifFluxAcavUC;
    import intMetier.trace.usecase.MifTraceUC;
    import intPresentation.flux.actionForm.MifRechercheFluxActionForm;
     
     
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import java.util.ResourceBundle;
    import java.util.TreeMap;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    import org.apache.log4j.Logger;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.hibernate.HibernateException;
    import org.hibernate.Session;
     
    import INTetatACAV.etatACAV.actionForm.MifRechercheEtatACAVActionForm;
    import INTetatACAV.etatACAV.metier.entite.MIFetatACAV;
    import INTetatACAV.etatACAV.metier.manager.MifetatACAVManager;
    import INTetatACAV.etatACAV.metier.usecase.MifEtatACAVUC;
    import INTutil.HibernateUtil;
     
     
    import INTcommun.MifUtilitaireUC;
     
     
     
    public class MifEtatACAVAction extends Action {
     
    	private static final String CLASS_NAME = MifEtatACAVAction.class.getName();
     
    	private static Logger slog = Logger.getLogger(CLASS_NAME);
     
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    			throws Exception {
     
    		MifRechercheFluxActionForm mifRechercheFluxActionForm = (MifRechercheFluxActionForm)form;
     
    		List listEtatACAVResult = new ArrayList();
    		List catsResult = new ArrayList();
    		Long idsupport=null;
    		Long numero=null;
    		String support=null;
    		Long vl=null;		
    		Double passif=null;
    		Double actif=null;
    		Double en_attente=null;		
    		Date dateapplication=null;	
    		Long idacavattente=null;
    		String dateimportactif="12/08/2006";
    		String dateimportpassif="13/08/2006";
     
     
    		String param = "";
    		String paramFlux="";
     
    		paramFlux = request.getParameter("numeroFlux");
    		slog.debug("numéro flux"+paramFlux);
     
    		List listResult = new ArrayList();
     
    		MifTraceUC mifTraceUC = new MifTraceUC();
    		MifDetailFlux mifDetailFlux = new MifDetailFlux();
    		String name = "";
    		String surName = "";
    		String action = "";
    		Long numeroFlux ;
    		Long numFlux=null;
     
    		try{
     
    	    HttpSession session = request.getSession();
     
    		MifUtilitaireUC mifUtilitaireUC = new MifUtilitaireUC();
    		String [] tabDateImportString = new String[4];
     
    		MifCartoucheEnteteBean paramCartouche=(MifCartoucheEnteteBean)session.getAttribute("cartoucheBean");
     
     
     
    		if(paramCartouche == null){
    		tabDateImportString = mifUtilitaireUC.getDateImportActifPassif();
     
    		// remplir les informations de la cartouche
     
    		MifCartoucheEnteteBean mifCartoucheEnteteBean = new MifCartoucheEnteteBean();
    		mifCartoucheEnteteBean.setLastImportActif(tabDateImportString[0]);
    		mifCartoucheEnteteBean.setNextImportActif(tabDateImportString[1]);
    		mifCartoucheEnteteBean.setLastImportPassif(tabDateImportString[2]);
    		mifCartoucheEnteteBean.setNextImportPassif(tabDateImportString[3]);
    		mifCartoucheEnteteBean.setName((String)session.getAttribute("name"));
    		mifCartoucheEnteteBean.setSurName((String)session.getAttribute("surName"));
    		session.setAttribute("cartoucheBean", mifCartoucheEnteteBean);
    		}
     
    		listEtatACAVResult = MifEtatACAVUC.rechercheEtatACAV(idacavattente, idsupport, numero, support, vl, passif, actif, en_attente, dateapplication);
    		request.setAttribute("ListEtatACAV", listEtatACAVResult);
     
     
    		System.out.println("listEtatACAVResult page action :"+ listEtatACAVResult);
     
    		//Affiche le nombre de ligne du tableau
    		request.getSession().setAttribute("nbrlignes", String.valueOf(listEtatACAVResult.size()));
     
     
     
    		//Affiche date import actif
    		request.getSession().setAttribute("dateimportactif", dateimportactif);		
     
    		//Affiche date import passif
    		request.getSession().setAttribute("dateimportpassif", dateimportpassif);		
     
    		//Compteur pour la colonne numéro
    		for (int ligne=1; ligne<listEtatACAVResult.size()+1; ligne++) {
     
    			System.out.println("ligne :"+ligne);
    			request.setAttribute("nbrligne",ligne);
     
     
    		}
     
     
     
    		System.out.println("sortie action");
     
    		MifFluxAcavUC mifFluxAcavUC = new MifFluxAcavUC();
     
     
    		if(mifRechercheFluxActionForm != null ){
     
     
    			idacavattente = mifRechercheFluxActionForm.getIdacavattente();
    			System.out.print("idacavattente action: "+idacavattente);
    			mifRechercheFluxActionForm.setHasResultFlux(true);
     
     
    			listResult = mifFluxAcavUC.rechercheFlux(idacavattente);
    			System.out.print("listResult action :"+listResult);
     
    			mifRechercheFluxActionForm.setListResult(listResult);
     
    		}else{
    			mifRechercheFluxActionForm.setHasResultFlux(false);
    		}				
     
     
    			System.out.print("paramFlux action :"+paramFlux);
     
    			if(paramFlux != null  ){			
    			mifDetailFlux = mifFluxAcavUC.getDetailFluxParNumeroFlux(paramFlux);
    			System.out.print("mifDetailFlux action :"+mifDetailFlux);
    			mifRechercheFluxActionForm.setMifDetailFlux(mifDetailFlux);
    			mifRechercheFluxActionForm.setShowDetail(true);
     
    			mifRechercheFluxActionForm.setMifDetailFlux(mifDetailFlux);
     
     
    		  }else{
    			  mifRechercheFluxActionForm.setShowDetail(false);
    			mifRechercheFluxActionForm.setMifDetailFlux(mifDetailFlux);
    		  }
     
    		session.setAttribute("mifEtatACAVActionForm", mifRechercheFluxActionForm);
    		System.out.print("mifRechercheFluxAcavActionForm :"+mifRechercheFluxActionForm);
     
     
     
    			}catch (Exception e){
    				slog.error(" MifEtatACAVAction - execute : error :"+e.getMessage());
    				// insertion de la trace
    				mifTraceUC.updateTrace(name +" "+surName, "Recherche Flux", "Error");
    			e.printStackTrace();
    			return mapping.findForward("Error");
    				}
    			slog.debug(" MifEtatACAVAction - execute : successfully ");
     
    			String name_user = 	name +" "+surName;
     
    			// insertion de la trace
    			mifTraceUC.updateTrace(name_user, "Recherche Flux", "Succes");		
    		// TODO Auto-generated method stub
    		return mapping.findForward("Succes");
    	}	
    }

  10. #10
    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
    D'après le code, c'est la même Action qui remplit ListEtatACAV et listResult.

    Donc, quand tu appelles cette Action la première fois pour remplir ListEtatACAV et la mettre dans le scope request pour l'afficher dans la jsp, tu remplis également listResult via ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	if(mifRechercheFluxActionForm != null ){
     
     
    			idacavattente = mifRechercheFluxActionForm.getIdacavattente();
    			System.out.print("idacavattente action: "+idacavattente);
    			mifRechercheFluxActionForm.setHasResultFlux(true);
     
     
    			listResult = mifFluxAcavUC.rechercheFlux(idacavattente);
    			System.out.print("listResult action :"+listResult);
     
    			mifRechercheFluxActionForm.setListResult(listResult);
     
    		}
    Il me semble donc normal que listResult ne soit pas vide à l'affichage de la jsp, à moins que mifFluxAcavUC.rechercheFlux(idacavattente) renvoie une liste vide parce que je ne vois pas bien à quel moment tu initialises la propriété idacavattente du form-bean mifRechercheFluxActionForm.

    D'ailleurs, je l'ai peut-être loupé mais je ne vois pas non plus de request.getParameter("idacavattente") qui te permette de récupérer la valeur de idacavattente passée en paramètre de l'Action via le lien.

    Bref, j'ai du mal à comprendre comment ça fonctionne tout ça.

  11. #11
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    D'après le code, c'est la même Action qui remplit ListEtatACAV et listResult.

    Donc, quand tu appelles cette Action la première fois pour remplir ListEtatACAV et la mettre dans le scope request pour l'afficher dans la jsp, tu remplis également listResult via ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	if(mifRechercheFluxActionForm != null ){
     
     
    			idacavattente = mifRechercheFluxActionForm.getIdacavattente();
    			System.out.print("idacavattente action: "+idacavattente);
    			mifRechercheFluxActionForm.setHasResultFlux(true);
     
     
    			listResult = mifFluxAcavUC.rechercheFlux(idacavattente);
    			System.out.print("listResult action :"+listResult);
     
    			mifRechercheFluxActionForm.setListResult(listResult);
     
    		}
    Il me semble donc normal que listResult ne soit pas vide à l'affichage de la jsp, à moins que mifFluxAcavUC.rechercheFlux(idacavattente) renvoie une liste vide parce que je ne vois pas bien à quel moment tu initialises la propriété idacavattente du form-bean mifRechercheFluxActionForm.

    D'ailleurs, je l'ai peut-être loupé mais je ne vois pas non plus de request.getParameter("idacavattente") qui te permette de récupérer la valeur de idacavattente passée en paramètre de l'Action via le lien.

    Bref, j'ai du mal à comprendre comment ça fonctionne tout ça.
    Re-Bonjour,

    Oui, c'est la même Action qui remplit ListEtatACAV et listResult.
    Au départ bien entendu listResult est vide car le paramètre idacavattente est égal à 0.
    Quand on click par exemple sur le deuxième lien du premier tableau. ça retourne un idacavattente = 2 en paramètre pour la requête du deuxième tableau.

    Et je récupère la valeur de idacavattente par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    idacavattente = mifRechercheFluxActionForm.getIdacavattente();
    ce qui reviendrait à faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String idacav = request.getParameter("idacavattente");
    idacavattente = Long.parseLong(idacav);			
    System.out.print("idacavattente1 action: "+idacavattente);
    En gros tu as mis le doigt dessu. Je dois réinitialiser idacavattente du form-bean mifRechercheFluxActionForm quand je quitte la page.
    Le souci est que quand je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	/**
             * Méthode qui permet la remise à zéro de la valeur idacavattente
             * @param mapping de type ActionMapping
             * @param request de type HttpServletRequest
             */
    	public void reset(ActionMapping mapping, HttpServletRequest request) {
    		this.idacavattente= 0;
    	}
    Du coup lorsque l'on click sur un lien du second tableau pour avoir des détails, les détails s'affichent mais le second tableau disparait.

  12. #12
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Par défaut
    Il semblerait que mon problème vienne du scope. De la portée du bean.

    J'ai un premier tableau qui s'affiche lors du click sur le lien du menu.
    Je click sur un lien d'une ligne du tableau, ça m'affiche un second tableau en dessou du premier en fonction du lien clické sur le premier tableau. dans ce second tableau, j'ai encore une colonne de lien que lorsque je click dessu, des informations (détails) apparaissent sous le second tableau.

    Or en modifiant la portée du bean (scope) que j'ai mis en request.
    Quand je click sur un lien du second tableau pour afficher les détails, le second tableau disparait pour ne laisser que le premier tableau et les détails sur le lien clické du second tableau. Or le second tableau ne devrait pas disparaitre.

    Voici un bout de ma jsp là ou le second tableau ne devrait pas disparaitre normalement :
    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
     
    <!-- Affichage du tableau flux -->
    <table class="table-autopage:6 table-page-number:t1page table-page-count:t1pages table-stripeclass:alternative tablelist">
    <logic:notEmpty name="mifRechercheFluxForm" property="listResult" >
    <thead>
    <tr class="tdhead1">
    <td colspan="14"><i><bean:message key="flux.comptabilise.acav.attente"/></i></td>
    </tr>	
    <tr class="tdhead">
    <td width=7.6%><bean:message key="num.ligne"/></td>		
    <td width=7.6%><bean:message key="num.fluxacav"/></td>
    <td width=7.6%><bean:message key="type.date.valeur"/></td>
    <td width=7.6%><bean:message key="label.montant"/></td>
    <td width=7.6%><bean:message key="parts.pro"/></td>
    <td width=7.6%><bean:message key="cours.pro"/></td>
    <td width=7.6%><bean:message key="parts.def"/></td>
    <td width=7.6%><bean:message key="cours.def"/></td>
    <td width=7.6%><bean:message key="label.di"/></td>
    <td width=7.6%><bean:message key="label.rf"/></td>
    <td width=7.6%><bean:message key="label.statut"/></td>
    <td width=7.6%><bean:message key="label.type"/></td>
    <td width=12.4%><bean:message key="label.support"/></td>
    </tr>
    </thead>
    <tbody>
    <tr>
    <br>
    <logic:iterate id="ligneFlux" name="mifRechercheFluxForm" property="listResult" type="intCommunBean.flux.MifResultRechercheFluxBean" scope="request">
    <tr>
    <td width=7.6%><bean:write name="ligneFlux" property="col1"/></td>
    <td width=7.6%>						
    <html:link action="initEtatACAV" paramName="ligneFlux" paramId="numeroFlux" paramProperty="numeroFlux">
    <bean:write name="ligneFlux" property="numeroFlux"/></html:link> </td>
    <td width=7.6%><bean:write name="ligneFlux" property="strValeur"/></td> 
    <td width=7.6%><bean:write name="ligneFlux" property="montant"/></td>
    <td width=7.6%><bean:write name="ligneFlux" property="partsPro"/></td>
    <td width=7.6%><bean:write name="ligneFlux" property="coursPro"/></td>
    <td width=7.6%><bean:write name="ligneFlux" property="partsDef"/></td>
    <td width=7.6%><bean:write name="ligneFlux" property="coursDef"/></td>
    <td width=7.6%><bean:write name="ligneFlux" property="di"/></td>
    <td width=7.6%><bean:write name="ligneFlux" property="rf"/></td>
    <td width=7.6%><bean:write name="ligneFlux" property="typeStatut"/></td>
    <td width=7.6%><bean:write name="ligneFlux" property="type"/></td>
    <td width=12.4%"><bean:write name="ligneFlux" property="support"/></td> 
    </tr>
    </logic:iterate> 
    </tbody>
    <tfoot>
    <tr class="tdhead">
    <td colspan="1" class="table-page:1 cursor:pointer text-align:right" width="5%" id="first"  ><a href="#"><<</a></td>
    <td colspan="1" class="table-page:previous cursor:pointer text-align:right" width="5%" id="previous"><a href="#"><</a></td>
    <td colspan="9" style=text-align:center;>Page <script language="javascript">document.write(t1page+"/"+t1pages)</script></td>
    <td colspan="1" class="table-page:next cursor:pointer;text-align:right;" width="5%" id="next" ><a href="#">></a></td>
    <td colspan="1" class="table-page:t1pages cursor:pointer;text-align:right;" width="5%" id="end"><a href="#">>></a></td>
    </tr>
    </tfoot>
    </logic:notEmpty>					
    </table>
    <!-- Fin du tableau -->
    Voici la partie de mon action qui gère l'affichage du second tableau:
    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
     
    MifFluxAcavUC mifFluxAcavUC = new MifFluxAcavUC();
     
    idacavattente = mifRechercheFluxActionForm.getIdacavattente();
    if(idacavattente != null ){
    listResult = mifFluxAcavUC.rechercheFlux(idacavattente);
    mifRechercheFluxActionForm.setListResult(listResult);
    mifRechercheFluxActionForm.setHasResultFlux(true);
    request.setAttribute("listResult", listResult);
    }else{
    mifRechercheFluxActionForm.setHasResultFlux(false);
    }				
    if(paramFlux != null  ){			
    mifDetailFlux = mifFluxAcavUC.getDetailFluxParNumeroFlux(paramFlux);
    mifRechercheFluxActionForm.setMifDetailFlux(mifDetailFlux);
    mifRechercheFluxActionForm.setShowDetail(true);
    mifRechercheFluxActionForm.setMifDetailFlux(mifDetailFlux);
    }else{
    mifRechercheFluxActionForm.setShowDetail(false);
    mifRechercheFluxActionForm.setMifDetailFlux(mifDetailFlux);
    }
    request.setAttribute("mifEtatACAVActionForm", mifRechercheFluxActionForm);
    Voici mon struts-config:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <action 
    path="/initEtatACAV" 
    name="mifRechercheFluxForm"
    type="intPresentation.etatACAV.action.MifEtatACAVAction" 
    scope="request">
    <forward name="Succes" path="/jsp/EtatACAV.jsp"></forward>
    <forward name="Error" path="/index.jsp"></forward>
    </action>

Discussions similaires

  1. Problème pour afficher un tableau Struts + Hibernate
    Par littlebear dans le forum Struts 1
    Réponses: 24
    Dernier message: 01/12/2008, 21h04
  2. [Javascript][php]afficher/cacher lignes tableau
    Par bouba83 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/12/2006, 13h55
  3. Réponses: 4
    Dernier message: 27/04/2004, 14h45
  4. Réponses: 4
    Dernier message: 05/04/2004, 10h09
  5. [Struts][javascript]Probleme de 'id' dans un <html:hidden
    Par FreshVic dans le forum Struts 1
    Réponses: 5
    Dernier message: 11/02/2004, 10h57

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