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

Servlets/JSP Java Discussion :

redirection d'une page vers une autre


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 82
    Points : 44
    Points
    44
    Par défaut redirection d'une page vers une autre
    Bonjour,

    j'ai une petite question, mais j'ai du mal à la formuler, c'est pourquoi j'ai pas réussi à trouver sur google.

    je suis dans une jsp, et je voudrais exécuter une autre jsp, mais revenir au même endroit de la 1ere page.

    j'ai du code a exécuter sur ma première page! avant la fin de l'exec de la page je dois faire appel à une autre page pour faire autre chose. J'aimerai qu'à la fin de l'exécution de la 2nd page je continue à exécuter la fin de la première.

    Merci d'avance pour votre aide!

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Ça ressemble à un <jsp:include>.
    Peux-tu préciser ce que tu cherche à faire ?
    (il y a peut-être mieux)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    alors je vais essayer d'être plus explicite:
    la page ajoutDeal.jsp, s'exécute jusqu'au moment ou j'ai besoin d'appeler une jsp (qui fait office de servlet, car ne contient que de la logique métier) ajoutProduit.jsp.

    Le problème est que lorsque je me redirige vers ajoutProduit.jsp avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.sendRedirect("ajoutProduit.jsp");
    en fin d'execution de ajoutProduit.jsp, je ne reviens pas sur ajoutDeal.jsp, mais je reste sur une page blanche.

    Merci d'avance pour votre aide.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Ce n'est pas très propre comme façon de faire... il y a une raison à ne pas vouloir utiliser une servlet ?

    Dans tous les cas, tu ne peux pas faire un sendRedirect(...), tu perds les informations du request.
    Tu peux essayer avec <jsp:include>, le tout conditionné par un test, dans ta page de saisie, du coup, tu n'as plus qu'une page à afficher.
    PageDeSaisie avec flag 0 (pas d'include)

    ...validation ajout -> réaffichage de PageDeSaisie avec flag 1 (include)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    non pas vraiment de raison excepté que tout le code sur lequel je bosse a été écrit comme ça (pas par moi, le boss dit que c'est plus flexible que mis dans une servlet).

    Ton idée de include n'est pas mauvaise mais je ne peux pas lui passer d'objets pas l'objet request.

    Est ce que cela serait plus facile avec une servlet?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 12
    Points
    12
    Par défaut
    dans la page que tu viens de l'appele tu peux utilise le tag suivant avec un timing <jsp:forward page="votre_page.jsp"></jsp:forward>

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    j'ai utilisé un <jsp:include> avec mes parametres en <jsp:param>
    et ça fonctionne plutot bien.

    Merci à tous les 2 pour votre aide

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mikew75 Voir le message
    non pas vraiment de raison excepté que tout le code sur lequel je bosse a été écrit comme ça (pas par moi, le boss dit que c'est plus flexible que mis dans une servlet).
    No comment
    Citation Envoyé par mikew75 Voir le message
    Ton idée de include n'est pas mauvaise mais je ne peux pas lui passer d'objets pas l'objet request.
    Il n'y a pas d'objet à transmettre, juste les valeurs des champs en entrée et ça, tu les as.
    Dans l'idée, la page incluse fait des request.getParameter("champ1"); etc... pour récupérer les valeurs et fait le traitement d'ajout dans la base de données.
    Exemple

    1) Page de saisie
    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
     
    <html>
     
    <body>
    <%
        String firstName = request.getParameter("firstName");
        if (firstName == null) firstName = "";
        String lastName = request.getParameter("lastName");
        if (lastName == null) lastName = "";
     
        String mode = request.getParameter("mode");
        if (mode != null && mode.equals("register"))
        request.getRequestDispatcher("/actions/register.jsp").include(request, response);    
    %>
     
    <form>
    <input type="hidden" name="mode"/>
    <table>
        <tr>
            <td>Prénom</td>
            <td><input type="text" name="firstName"    value="<%=firstName%>" /></td>
        </tr>
        <tr>
            <td>Nom</td>
            <td><input type="text" name="lastName"    value="<%=lastName%>" /></td>
        </tr>
    </table>
    <input type="submit" value="Enregistrer" onclick="document.forms[0].mode.value='register'"/>
    </form>
    </body>
    </html>
    Page d'enregistrement
    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
     
    <%@page import="java.sql.Connection"%>
    <%@page import="database.utils.Utils"%>
    <%@page import="java.sql.PreparedStatement"%>
    <%
        String firstName = request.getParameter("firstName");
        String lastName = request.getParameter("lastName");
        
        Connection connection = null;
        try
        {
            connection = Utils.getConnection();
            PreparedStatement pstmt = connection.prepareStatement("insert into personnes(firstName, lastName) values(?, ?)");
            pstmt.setString(1, firstName);
            pstmt.setString(2, lastName);
            pstmt.execute();
            
            out.println(firstName + " " + lastName + " a été enregistré");
        }
        catch (Exception e)
        {
            out.write("Erreur lors de l'enregistrement de la personne : " + e.toString());    
        }
        finally
        {
            Utils.closeConnection(connection);
        }
    %>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redirection d'une page vers une autre
    Par nickoeuh dans le forum Langage
    Réponses: 5
    Dernier message: 29/04/2008, 22h04
  2. [MySQL] Récupération d'une valeur d'une page vers une autre
    Par fidecourt dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 17/09/2007, 14h19
  3. ASP.Net - Redirection d'une page vers une autre
    Par samworld dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 09/09/2007, 09h35
  4. Transfrer une information d'une page vers une autre
    Par reeda dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 28/08/2007, 10h59

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