web-dev-qa-db-fra.com

Lire la variable de session en javascript?

Je suis en train de définir la variable de session dans le servlet et je veux accéder à cette variable en javascript.

 ps = con.prepareStatement("select * from USERDETAILS where username=? and password=?");
 ps.setString(1, username);
 session.setAttribute("userName", username);

J'ai essayé ces fonctions javascript. mais ça ne marchait pas ...

var name = ${userName};
var name = '<%= Session["userName"] %>';
5
Bobby Rachel

Il semble que vous devriez pouvoir utiliser getAttribute():

var name = '<%= session.getAttribute("userName") %>';

Toutefois, cela dépend de l'exécution par Java du fichier pour remplacer le <%= ... %> incorporé, ce qui ne sera probablement pas le cas dans des fichiers .js séparés.

7
Jonathan Lonowski

Essayez d’utiliser ce code pour accéder à la session:

var myName= '<%= Session["myName"]%>';
2
Sunny Sharma

Sauf si votre session est complètement stockée dans un cookie, vous ne pouvez pas lire une variable de session en JavaScript. Vous devez stocker le contenu de la variable dans une variable JavaScript lors de la génération de la page ou utiliser AJAX pour le récupérer ultérieurement.

1
Amadan

Avez-vous vérifié dans le débogueur (débogueur javascript) quel nom contenait?
Avez-vous essayé d'attribuer un nom à un fichier HTML pour vous assurer que les données ont été affectées correctement? 
Avez-vous essayé de supprimer les guillemets?
de plus, votre code devrait se trouver sur la page principale, de sorte que le moteur du serveur le traverse et substitue Session ("userName") à la valeur réelle.

0
Yaroslav Yakovlev

pour ceux qui obtiennent une erreur avec le code ci-dessous à propos de caractères comme <% vs.

var name = '<%= session.getAttribute("username") %>';

J'ai eu le même problème, mais il s'est avéré que j'ai placé le script à un mauvais endroit dans le code.

Donc, vous feriez mieux de vérifier où vous avez mis le code.

J'espère que cela t'aides

0
MGoksu

essayez ceci -> {sessionScope.username}

Par défaut, les objets page, requête, session et application sont disponibles pour les pages JSP. Vous pouvez donc accéder ensuite à l'aide de la syntaxe EL.

Et le tableau suivant montre les objets IMPLICIT disponibles pour EL.

       Implicit object            Description
1.     pageScope        Scoped variables from page scope
2.     requestScope     Scoped variables from request scope
3.     sessionScope     Scoped variables from session scope
4.     applicationScope Scoped variables from application scope
5.     param            Request parameters as strings
6.     paramValues      Request parameters as collections of strings
7.     header           HTTP request headers as strings
8.     headerValues     HTTP request headers as collections of strings
9.     initParam        Context-initialization parameters
10.    cookie           Cookie values
11.    pageContext      The JSP PageContext object for the current page

Référence: Session et sessionScope sont-ils les mêmes dans JSP EL?

0
Yash P Shah