2017-10-16 7 views
1

J'essaie de créer une forme d'étape. Dans cette forme d'étape tous ces divs doivent avoir un ID différent pour me permettre d'appeler le suivant lorsque l'utilisateur clique sur le bouton suivant. Voici mon code principal:Impossible d'obtenir la variable jstl dans jsp inclu

  <c:set var="cpt" value="${1}" /> 
      <div class="row" style="border: 1px solid #f0f0f0;" 
       id="stepDiv-${cpt}"> 
       <jsp:include page="Step1.jsp" /> 
      </div> 
      <c:set var="cpt" value="${cpt + 1}" /> 
      <div class="row" style="border: 1px solid #f0f0f0; display: none;" 
       id="stepDiv-${cpt}"> 
       <jsp:include page="Step2.jsp" /> 
      </div> 

Dans ce code cpt est une variable JTSL qui me aider à donner ID diffrent à ces divs et je suis triyng d'utiliser cette variable pour passer à la prochaine div par passage dans une fonction javascript.

Voici l'autre jsp que j'inclus:

Step1.jsp:

<button class="btn btn-round btn-info myBtn " 
      id="buttonNext-${cpt}" 
        onclick='next(${cpt})'>next</button> 

Step2.jsp:

<button id="buttonNext-${cpt}" onclick='next(${cpt})'>next</button> 
     <button id="buttonPrevious-${cpt}" onclick='previous(${cpt})'>previous</button> 

Et voici mon code javascript :

function previous(i) { 

       document.getElementById("stepDiv-" + i).style.display = "none"; 
    i--; 
       document.getElementById("stepDiv-" + i).style.display = "block"; 
       document.getElementById("step-" + i).className += " active"; 

      } 

    function next(i) { 

       document.getElementById("stepDiv-" + i).style.display = "none"; 

       i++; 
       document.getElementById("stepDiv-" + i).style.display = "block"; 
       document.getElementById("step-" + i).className += " active"; 
      } 

Problème: le problème est que le inclus JSP ne peut pas obtenir la valeur de ${cpt}. Alors, comment puis-je obtenir cette valeur?

Répondre

1

Vous pouvez le fixer avec ceci:

<c:set var="cpt" value="${1}" /> 
      <div class="row" style="border: 1px solid #f0f0f0;" 
       id="stepDiv-${cpt}"> 
       <jsp:include page="Step1.jsp" <jsp:param 
         name="variable" value="${cpt}" /></jsp:include> 
      </div> 
      <c:set var="cpt" value="${cpt + 1}" /> 
      <div class="row" style="border: 1px solid #f0f0f0; display: none;" 
       id="stepDiv-${cpt}"> 
       <jsp:include page="Step2.jsp" <jsp:param 
         name="variable" value="${cpt}" /></jsp:include> 
      </div> 

et à l'intérieur de votre utilisation jsp:

<c:out value="${param.variable}"/>