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 :

Récupérer paramètre à partir de l'appel de la jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut Récupérer paramètre à partir de l'appel de la jsp
    Bonjour , j'aimerais pouvoir passer des paramètres à une JSP (un peu à la manière PHP) directement à partir d'un lien.
    fichier.jsp?param=value

    Mon but serait de récupérer la valeur de param dans la méthod jspInit() avec la methode request.getParamater("param"); Mais à l'execution , on me dit que ça n'est pas possible.

    Comment faire?
    Merci.

  2. #2
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Et si tu nous donnais ton code pour qu'on voit comment corriger ?
    [B]--= Ayana =--
    Team BAB - Spécialistes BO

    Rubrique BI de developpez.com

  3. #3
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut
    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
    <%@ page language="java" contentType="text/html" %>
    <%@ page pageEncoding="UTF-8"%>
    <%@ page isELIgnored="false" %>
    <%@ page import="fr.isen.jeen5_0708.group6.cocktaildb.*" %>
     
     
    <%!
    private Dao dao;
     
    public void jspInit() {
     
            String src = request.getParameter("src");
     
            if(src != null)
            {
                    if(src.equalsIgnoreCase("txt"))
                    {
                                String path = this.getServletContext().getRealPath("WEB-INF/data/txt");
                                dao = new Dao(path,"txt");
                    }
                    else if(src.equalsIgnoreCase("dom"))
                    {
                                String path = this.getServletContext().getRealPath("WEB-INF/data/xml");
                                dao = new Dao(path,"dom");
                    }
                    else if(src.equalsIgnoreCase("sql"))
                    {
                                dao = new Dao("","sql");
                    }
                    else{
                                //par défaut
                                String path = this.getServletContext().getRealPath("WEB-INF/data/txt");
                                dao = new Dao(path,"txt");
                    }
            }
            else{
                                //par défaut
                                String path = this.getServletContext().getRealPath("WEB-INF/data/txt");
                                dao = new Dao(path,"txt");
            }
     
    }
     
    public void jspDestroy() {
        dao = null;
    }
    %>

  4. #4
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Il n'y a pas le moinde code html là-dedans.
    Tu ne renseignes nulle part la valeur de ton paramètre "src", c'est normal qu'il ne le trouve pas !

    Et tu mets tout en déclaration, y compris ton scriplet, tu devrais mettre "<%" au lieu de "<%!"
    [B]--= Ayana =--
    Team BAB - Spécialistes BO

    Rubrique BI de developpez.com

  5. #5
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut
    Le code HTML est situé à la suite , je ne l'ai pas copié.
    fichier.jsp?src=txt ou fichier.jsp?src=sql ....
    Le paramétre src est passé par URL.

    C'est tout le but de ma question, d'ailleurs.
    J'aimerais le récupérer dans jspInit().
    Un peu à la manière d'une servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      public void init() {
    		String src = this.getInitParameter("src");
    mais cette fois ci dans jspInit().

  6. #6
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Oui, mais je pense que c'est parce qu'il est mal déclaré dans ta page HTML que ça ne marche pas.
    C'est pour ça que je te la demande
    [B]--= Ayana =--
    Team BAB - Spécialistes BO

    Rubrique BI de developpez.com

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Hello !

    Nullepart tu appelles ta méthode "jspInit()", tout simplement.

  8. #8
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut
    Vous dites n'importe quoi...
    jspInit() est appelé à l'initialisation , il ne faut pas l'appeler explicitement.
    et jspInit se met entre des balises <%! %>
    http://www.java2s.com/Code/Java/JSP/...jspDestroy.htm

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    C'est vrai que je ne suis plus trop habitué à coder des servlets dans les JSP, j'utilise les servlets pour celà.

    Quoiqu'il en soit, dans la méthode jspInit(), tu n'a pas accès à l'objet HttpServletRequest (request). Tu ne peux donc pas récupérer de paramètres HTTP à ce moment là. JspInit ne sert qu'à intialiser la page JSP mais elle ne traite pas les requêtes HTTP.

    Il suffit juste que tu sortes ton code de la méthode jspInit et le mettre tout simplement dans une section <%...%>, celà devrait fonctionner.

  10. #10
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut
    oui je suis d'accord mais ça enlève le principe que je m'étais donné , à savoir , importer la base de donnée pour tout le cycle de la JSP.
    Il faut savoir qu'en servlet , il est possible de passer des paramètres via le web.xml.

    dans la fonciton init() de ma servlet qui est equivalent à la methode jspInit() de la JSP , je suis capable de faire ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    /** Initialise la couche d'accès aux données lors du chargement de la servlet */
        public void init() {
    		String src = this.getInitParameter("src");
    avec comme web.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [..]
     <servlet>
    		<servlet-name>AffichageCocktailsXML</servlet-name>
    			<servlet-class>fr.isen.jeen5_0708.group6.servlet.AffichageCocktails</servlet-class>
                   	        <init-param>
                                <param-name>src</param-name>
                                <param-value>dom</param-value>
                            </init-param>
                </servlet>

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Effectivement parce que tu le définis dans le web.xml alors que là c'est l'utilisateur qui le choisit dans sa requête HTTP.

    Maintenant si tu veux que la définition soit permanente pour un utilisateur, tu peux toujours stocker l'information dans le scope session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <%
    if (request.getParameter("src") != null) {
        session.setAttribute("app_src", request.getParameter("src"));
    }
    String src = (String)session.getAttribute("app_src");
    %>

  12. #12
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut
    Voilà la solution que je recherchais!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    		<servlet-name>AffichageCocktailsSQL_jsp</servlet-name>
    			<jsp-file>/AffichageCocktails.jsp</jsp-file>
                   	        <init-param>
                                <param-name>src</param-name>
                                <param-value>sql</param-value>
                            </init-param>
                </servlet>
    	    <servlet-mapping>
    			<servlet-name>AffichageCocktailsSQL_jsp</servlet-name>
    			<url-pattern>/AffichageCocktailsSQL.jsp</url-pattern>
                </servlet-mapping
    et dans la jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void jspInit() {
     
            ServletConfig config = getServletConfig();
                    String src = config.getInitParameter("src");

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/05/2012, 08h36
  2. Récupérer paramètres d'appel en ksh
    Par pilou06 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 20/11/2006, 10h42
  3. Réponses: 2
    Dernier message: 09/01/2006, 09h38
  4. Réponses: 5
    Dernier message: 24/08/2004, 18h11
  5. Charger des paramètres à partir de beans
    Par lalakers dans le forum ANT
    Réponses: 1
    Dernier message: 19/05/2004, 18h25

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