web-dev-qa-db-fra.com

Comment passer une valeur d'un jsp à une autre page jsp?

J'ai deux pages JSP: search.jsp et update.jsp.

Lorsque je lance search.jsp, une valeur extrait de la base de données et je la stocke dans une variable appelée scard. Maintenant, ce que je veux, c'est utiliser la valeur de cette variable dans une autre page jsp. Je ne veux pas utiliser request.getparameter().

Voici mon code:

<% 
String scard = "";
String id = request.getParameter("id");

try {
    String selectStoredProc = "SELECT * FROM Councel WHERE CouncelRegNo ='"+id+"'";

    PreparedStatement ps = cn.prepareStatement(selectStoredProc);
    ResultSet rs = ps.executeQuery();

    while(rs.next()) {
        scard = rs.getString(23);
    }

    rs.close();
    rs = null;
} catch (Exception e) {
    out.println(e.getLocalizedMessage());
} finally {

}
%>

Comment puis-je atteindre cet objectif?

9
user3377703

Utilisation du paramètre de requête 

<a href="edit.jsp?userId=${user.id}" />  

Utilisation de variable cachée.

<form method="post" action="update.jsp">  
...  
   <input type="hidden" name="userId" value="${user.id}">  

vous pouvez envoyer un objet Using Session.

   session.setAttribute("userId", userid);

Ces valeurs seront désormais disponibles depuis n'importe quel jsp tant que votre session est toujours active. 

   int userid = session.getAttribute("userId"); 
14
Benjamin

Utiliser des sessions

Sur votre search.jsp

Mettez votre scard dans des sessions utilisant session.setAttribute("scard","scard") 

//the 1st variable is the string name that you will reteive in ur next page,and the 2nd variable is the its value,i.e the scard value.

Et dans votre page suivante, vous le récupérez en utilisant session.getAttribute("scard")

METTRE &AGRAVE; JOUR

<input type="text" value="<%=session.getAttribute("scard")%>"/>

Utilisez le code ci-dessous pour passer une chaîne d'un jsp à un autre.

A.jsp

   <% String userid="Banda";%>
    <form action="B.jsp" method="post">
    <%
    session.setAttribute("userId", userid);
        %>
        <input type="submit"
                            value="Login">
    </form>

B.jsp

    <%String userid = session.getAttribute("userId").toString(); %>
    Hello<%=userid%>
3
Raman B

Supposons que nous voulions passer trois valeurs (u1, u2, u3) de say 'show.jsp' à une autre page, par exemple 'display.jsp' Créez trois zones de texte masquées et un bouton qui clique automatiquement (en javascript). // Code à écrire dans 'show.jsp' 

<body>
<form action="display.jsp" method="post">
 <input type="hidden" name="u1" value="<%=u1%>"/>
 <input type="hidden" name="u2" value="<%=u2%>" />
 <input type="hidden" name="u3" value="<%=u3%>" />
 <button type="hidden" id="qq" value="Login" style="display: none;"></button>
</form>
  <script type="text/javascript">
     document.getElementById("qq").click();
  </script>
</body>

// Code à écrire dans 'display.jsp'

 <% String u1 = request.getParameter("u1").toString();
    String u2 = request.getParameter("u2").toString();
    String u3 = request.getParameter("u3").toString();
 %>

Si vous voulez utiliser ces variables de servlets en javascript, écrivez simplement

<script type="text/javascript">
 var a=<%=u1%>;
</script>

J'espère que ça aide :)

0
Ankit Saxena