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 :

Passage de tableau à deux dimensions dans une session


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Points : 70
    Points
    70
    Par défaut Passage de tableau à deux dimensions dans une session
    Bonjour,

    J'ai un souci avec mon code jsp pour passer un tableau à 2 dim dans ma session.

    Je veux traiter ce tableau dans une servlet derrière, mais je n'arrive pas à le passer...
    D'ailleurs, quoique je veuille passer, ca ne passe pas

    Voici le code jsp:
    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
    	var dataGraphiques = ( new BVI_GenericDBManager())
    			.contentByCachedQuery
    			(
    				sql="select  DATEPC, NOTE_ANALYSTES, TOTAL_ANALYSTES"+
    					"from consensus " +
    					"where code_isin = 'FR0000133308'" +
    					"and rownum < 13" +
    					"order by datePC desc"
    					,0
    			);
     
    	var tabDatasGraphiques = [];
    	if ( dataGraphiques && ( dataGraphiques.rows > 0 ) ) {
    	for( dataGraphiques.cursor = 0; dataGraphiques.cursor < dataGraphiques.rows; dataGraphiques.cursor++ ){
    		tabDatasGraphiques[tabDatasGraphiques.cursor] = {
    				"date" 		: getMonth(dataGraphiques.datePC),
    				"note"			: dataGraphiques.NOTE_ANALYSTES,
    				"nbAnalystes"	: dataGraphiques.TOTAL_ANALYSTES
    		};
    	}
    	}
      Session.tabNotes = tabDatasGraphiques;
    La ligne suivant ce code, j'ai fait ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Session.testNico = "blablabla";
    Dans ma servlet, je fais le traitement suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    		BVLog.bvlog(1,1,"================= TEST DO GET =====================");
    		HttpSession session = request.getSession(true);
    		String[][] notes = (String[][]) session.getAttribute("tabNotes");
    		String test = (String)session.getAttribute("testNico");
    		BVLog.bvlog(1,1,"====" + test + "=====");
    Et le résultat dans les logs java est le suivant:
    on Nov 27 11:57:50 2006 (1164625070.667347) bvsmgr_nopure[27613]@DFS11:<13.1247082459>:L1:S18 Reporting Code: 10001 Reason: BVI_Session___addPropertyStub: type index for new value not found
    JavaScript stack:
    [1] line 221 in "/export/home/fortuneo/devfortuneo/script_pages/dev5/WebBank/scripts/FRT5.2/lesMarches/historiqueConsensus.jsp"

    Mon Nov 27 11:57:50 2006 (1164625070.997844) bvsmgr_nopure[27613]@DFS11:<12.1006540100>:L1:S01 ================= TEST DO GET =====================
    Mon Nov 27 11:57:50 2006 (1164625070.998800) bvsmgr_nopure[27613]@DFS11:<12.1006540100>:L1:S01 ====null=====
    Bref, je ne sais pas trop quoi faire, j'ai testé que mes éléments sont bien non null...
    Qui osera affronter ma brute??
    Si tu perds, rejoins mon clan

  2. #2
    Membre actif Avatar de MicroPuce
    Inscrit en
    Mai 2004
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 262
    Points : 212
    Points
    212
    Par défaut
    Salut,
    Je sais pas si je suis le seul, mais en tout cas, j'ai rien compris à ton problème : tu parles de jsp et je vois du code javascript qui essaie d'agir sur la session
    J'ai loupé un truc?

  3. #3
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Points : 70
    Points
    70
    Par défaut
    Bah je sais pas trop quoi dire, ce code est dans ma page jsp entre des balises <% %>

    Ca va faire une requête dans ma base, ca créé un tableau indexé, et ca le passe dans la session.

    Ensuite j'ai du code java pour la partie servlets et récupération...


    Je sais pas trop quoi dire
    Qui osera affronter ma brute??
    Si tu perds, rejoins mon clan

  4. #4
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 858
    Points : 4 792
    Points
    4 792
    Par défaut
    Salut

    Une suggestion. Il faudrait que tu mettes ton tableau 2D dans une classe à part.
    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class MyClass{
    public int[][]monTab;
    //Quelques méthodes et un contruscteur ?
    }
    Tu auras ainsi plus facile à transférer cet objet entre tes jsps ou servlets.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  5. #5
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Points : 70
    Points
    70
    Par défaut
    Oui je vois le truc

    Mais j'ai décidé de changer ma méthode, j'ai pris la liberté de passer par une chaine que je splitterais dans ma servlet plutot que de faire mon passage dans la session d'un tableau 2 dim.

    Ca donne cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var tabDatasGraphiques = "";
    	if ( dataGraphiques && ( dataGraphiques.rows > 0 ) ) {
    		for( dataGraphiques.cursor = 0; dataGraphiques.cursor < dataGraphiques.rows; dataGraphiques.cursor++ ){
    			if (tabDatasGraphiques != ""){
    				tabDatasGraphiques +=  ";" + getMois(dataGraphiques.datePC) + "/" + dataGraphiques.NOTE_ANALYSTES + "/" + dataGraphiques.TOTAL_ANALYSTES;
    			}
    			else{
    				tabDatasGraphiques += getMois(dataGraphiques.datePC) + "/" + dataGraphiques.NOTE_ANALYSTES + "/" + dataGraphiques.TOTAL_ANALYSTES;
    			}
    		}
    	}
      Session.tabNotes = tabDatasGraphiques;
      Session.testNico = "plop";

    les deux sont apssé dans la session (enfin je pense hein)

    Mais quand je tente de les récupérer dans la servlet, ca me retourne null

    Je sais qu'il existe une méthode setAttribute, mais comment l'utiliser dans mon JSP??
    Qui osera affronter ma brute??
    Si tu perds, rejoins mon clan

  6. #6
    Membre actif Avatar de MicroPuce
    Inscrit en
    Mai 2004
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 262
    Points : 212
    Points
    212
    Par défaut
    Chuis désolé d'insister, mais...
    Pour moi, ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var dataGraphiques = ...;
    var tabDatasGraphiques = [];
    Ca ressemble pas à du java!!!! Et c'est peut-être pour ça que ça a du mal à fonctionner Ou alors c'est de la syntaxe que je connais pos et dans ce cas, je pourrais me coucher moins bête ce soir...

  7. #7
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Points : 70
    Points
    70
    Par défaut
    Bah c'est pas du java en effet, c'est du coté serveur que se passe cette requête... En plus c'est du broadvision...

    Enfin, je suis un peu pommé sur ce qu'on me demande de faire, je veux juste, à partir de la chaine que j'ai concaténée, la passée dans la session Broadvision, et pouvoir récupérer ensuite tout ca dans ma servlet, ou j'ai du java


    Pfiou
    Qui osera affronter ma brute??
    Si tu perds, rejoins mon clan

  8. #8
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Points : 70
    Points
    70
    Par défaut
    J'ai tout compris!!


    J'étais sous Broadvision, le setAttribute ne fonctionne donc pas

    J'ai donc a faire un session.mavar = mavaleur.

    Mais pour que la servlet puisse récupérer cette valeur, il faut passer en parametre l'engineID et la sessionID

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BV_SessionID=@@@@1560677862.1164732270@@@@&BV_EngineID=ccccaddjhkgffimcfngcfkmdfoodfgg.0#

    Ca c'est ce que ca affiche dans l'URL...

    il faut faire pour cela un makescriptUrl("cheminservlet/do/servlet");


    Résolu!!!
    Qui osera affronter ma brute??
    Si tu perds, rejoins mon clan

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 09/10/2010, 00h44
  2. Réponses: 6
    Dernier message: 06/08/2010, 08h27
  3. [XL-2003] vba: Copier un tableau 1 dimension dans une feuille
    Par Gotita dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/09/2009, 18h17
  4. Comment passer un tableau à deux dimensions dans une fonction
    Par Niko_de_bordo dans le forum Débuter
    Réponses: 2
    Dernier message: 02/07/2009, 15h15
  5. afficher un tableau 2 dimensions dans une fenetre
    Par igor24 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 29/04/2006, 13h50

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