Bonjour à tous,

j'ai un problème avec l'exécution de la boucle while de mon javascript.
Sur ma page jsp, j'ai le script ci-dessous qui me permet d'imprimer des données provenant de mon bean saisieReception

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
 
<h:panelGroup rendered="#{!saisieReception.multiPrintConditionnementVide}">
        <ui:param name="numCarton" value="#{saisieReception.currentConditionnements.indexOf(saisieReception.printConditionnement)+1}" />				
        <ui:param name="numCartonRsd" value="#{numCarton}/#{saisieReception.nbCartonRsd}" />
	<ui:param name="numCartonHdd" value="#{numCarton}/#{saisieReception.nbCartonHdd}" />
        <script type="text/javascript">
	          $(document).ready(function() {
				alert("panel multiPrintConditionnement -> size = "+ '#{saisieReception.multiPrintConditionnement.size()}'); 
				var i = '#{saisieReception.multiPrintConditionnement.size()}';
				var test = 0;
				while (i>0){							
				     test = '#{saisieReception.impressionEtiquettes}';								
				     alert("test print "+test);															
				     printReception(1, '#{saisieReception.printConditionnement.itemId}', '#{saisieReception.currentArticle.pn}','#{saisieReception.numeroReception}', '#{saisieReception.currentFabricant.referenceFabricant}','#{saisieReception.currentArticle.libArticle}', #{saisieReception.printConditionnement.quantite},'#{saisieReception.currentArticle.hdd ? numCartonHdd : numCartonRsd}','#{saisieReception.formattedDateReception}', '#{saisieReception.currentPays.idePays}','#{saisieReception.currentAffectation.idEmplacement}');
				     i--;
				}			
	   });
        </script>
</h:panelGroup>
dans mon while j'appelle une fonction du bean saisieReception.getImpressionEtiquettes qui met à jour mon objet saisieReception.printConditionnement ce objet est ensuite passé en paramètre à la function javascript printReception() pour impression, ci-dessous la fonction du bean saisieReception.getImpressionEtiquettes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public Integer getImpressionEtiquettes(){
		if(inc < nbConditionnement){
			clearPrintConditionnement();
			setPrintConditionnement(multiPrintConditionnement.get(inc));
			inc = inc +1;
			LOGGER.info("inc => " +inc);
			return inc;
		}else {
			LOGGER.info("dans le else => " +inc); // à ce niveau inc doit etre = à nbConditionnement
			inc = 0;
			return 0;
		}
	}
mon problème c'est que la fonction saisieReception.getImpressionEtiquettes n'est appelé qu'une seule fois dans la boucle while ce qui fait que: si par exple mon i = 4 dans le while, il boucle bien 4 fois et imprime 4 étiquettes mais avec les memes données parce que la fonction saisieReception.getImpressionEtiquettes est exécutée une seule fois

Quelqu'un aurait-il une idée du pourquoi ma boucle while de ma fonction javascript n'appelle qu'une fois au premier tour la fonction du bean et pas les autres fois? Je vous remercie d'avance!