9
votes

Comment passer une valeur d'une variable d'une classe Java à la page JSP

J'ai 2 fichiers nommés admin.java code> et index.jsp code>.

in admin.java code> via une fonction je récupère le Valeur de la variable nommée res code>. Cette variable doit être transmise à une page JSP. p>

Le admin.java code> est dans c: \ users \ praveen \ workspace \ smanticweb \ src \ contrôleur code> alors que le index.jsp est dans c: \ utilisateurs \ praveen \ workspace \ SemanticWeb \ webcontent code>. p>

Le code de admin.java strong> est: P > xxx pré>

le code de index.jsp fortre> est p> xxx pré>

dans le p>

function(response)
{
 ......
} 


2 commentaires

Mettre un point d'arrêt; Vérifiez si votre code administrateur est réellement exécuté.


Oui, le code d'administrateur est d'être exécuté et la valeur de RES est renseignée sur place. J'ai vérifié que, mais je ne suis pas capable de le transmettre à la page JSP souhaitée.


3 Réponses :


4
votes

On dirait que vous faites Ajax, alors je dirais que votre réponse devra être codée de manière compatible AJAX (JSON, XML, ...).

Si vous faites un codage AJAX, votre fonction peut ressembler à ceci: xxx

édition:

Nous utilisons json simple pour le codage JSON.

Notre backend Java ressemble alors à ceci (version simplifiée Sans vérification des erreurs): xxx

et dans la fonction JavaScript: xxx


2 commentaires

Je suis désolé je ne sais pas JSON. Puis-je tout de suite mettre ce code dans mon fichier de classe Java et utiliser l'objet dans le fichier JSP?


Vous pouvez aussi faire cela dans votre JSP. Il suffit d'utiliser <% = jsonresult.tojsonstring ()%> . Pour remplir l'objet JSON, jetez un coup d'œil à la documentation simple JSON. C'est vraiment simple - il suffit de définir des propriétés ou des tableaux de remplissage et d'appeler finalement tojsonstring () pour le formatage correct.



0
votes

S'il s'agit d'une demande AJAX, vous pouvez transférer la demande dans une autre page JSP plutôt que de revenir. Avec ce

PrintWriter out = response.getWriter();
out.print("The value of res been passed is "+res);


5 commentaires

Merci pour la suggestion. Mais j'ai besoin d'accéder à la valeur de la variable du fichier Java dans mon index.jsp. Donc, si j'envoie la valeur à un autre Ajax.jsp, il doit encore être envoyé à index.jsp. Il sera donc préférable que je puisse passer la valeur de la variable à index.jsp en premier lieu.


Vous voulez dire avant de charger l'index.jsp dans le navigateur que vous avez déjà la valeur. Je pensais que la valeur est demandée via Ajax. Si tel est le cas, puis-je connaître le flux de votre application. Ex. quel fichier est exécuté pour la première fois.


Index.jsp a la fonction de connexion. Et à travers Ajax, j'appelle admin.java qui fait la partie d'authentification de l'utilisateur. Chaque utilisateur lorsque les registres racontent son intérêt dans n'importe quelle langue indiquent que C, C ++, Java, etc. Toutes ces informations sont stockées dans la base de données.


Une fois que cela est fait. Lorsque l'utilisateur se connecte à l'application via admin.java consiste à trouver l'intérêt qui tente de se connecter. Ceci est fait à travers la fonction nommée Semantansearch. Cette fonction renvoie la valeur d'intérêt dans la variable "res" que j'ai besoin de transmettre à index.jsp après le retour de l'administrateur.java.


Comme si je l'ai dit à propos d'Ajax.jsp, c'est celui qui gérera le RES. Ensuite, après cela a été appelé, il retournera à votre demande Ajax. Vous ne pouvez pas non plus inclure le retour dans votre servlet. À propos de ma deuxième suggestion, c'est l'un des moyens les plus simples. Essayez d'alerter (demande) si vous pouvez voir la réponse. Ajoutez également un gestionnaire d'erreur sur votre Ajax, voir cette " Stackoverflow.com/Questtions/377644/... "



4
votes

à partir de votre code,

response.getWriter().write(res);


1 commentaires

Merci beaucoup.Je suis la valeur de la variable Res dans Index.jsp.