Affecter la variable JavaScript à la Variable Java dans JSP

Ello y

j'essaie d'attribuer la valeur d'une variable javascript à une variable java. Mais je n'ai pas la moindre idée de comment faire cela? Disons, par exemple, j'ai ceci:

<html>
<head>
   <script type="text/javascript">
       function return variable(){
          var a = "hello";
          return a;
       }
   </script>
</head>
<body>

<%
   //The java code
   String b = //how do I get that javascript variable here?
%>

</body>
</html>
19
demandé sur stevevls 2011-11-25 15:20:32

7 réponses

Java script joue sur le navigateur où le code java est Côté Serveur chose donc vous ne pouvez pas simplement faire cela.

ce que vous pouvez faire est de soumettre la variable calculée à partir de javascript au serveur par form-submission, ou en utilisant le paramètre URL ou en utilisant des appels AJAX et puis vous pouvez le rendre disponible sur le serveur

HTML

<input type="hidden" id="hiddenField"/>

assurez-vous que ces champs se trouvent sous <form>

Javascript

document.getElementById("hiddenField").value=yourCalculatedVariable;

sur le serveur vous obtenez ce que une partie de request

20
répondu Jigar Joshi 2011-11-25 11:32:59

vous devez lire quelque chose sur le cycle de vie d'un JSP. Essayez ceci:http://en.wikipedia.org/wiki/File:JSPLife.png

JavaScript fonctionne sur le client, mais pour changer le jsp, vous avez besoin d'accéder au serveur. Cela peut se faire par L'Intermédiaire D'Ajax(http://en.wikipedia.org/wiki/Ajax_%28programming%29).

voici quelques liens relatifs à Ajax: http://www.openjs.com/articles/ajax_xmlhttp_using_post.php

http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

1
répondu Dragos 2011-11-25 11:25:42

la réponse est que vous ne pouvez pas. Java (dans votre cas JSP) est un langage de script côté serveur, ce qui signifie qu'il est compilé et exécuté avant tout le code javascript. Vous pouvez affecter les variables javascript aux variables JSP mais pas l'inverse. Si possible, vous pouvez faire apparaître la variable dans un QueryString ou la passer via un formulaire (à travers un champ caché), la poster et extraire la variable à travers JSP de cette façon. Mais il faudrait pour cela refaire la page.

espérons que ceci aider.

1
répondu AlphaMale 2011-11-25 11:27:35

JavaScript est activé côté client et JSP est activé côté serveur. Donc, je peux dire que c'est impossible.

1
répondu Jwalin Shah 2017-04-11 11:46:03

je pense qu'il n'y a aucun moyen de faire cela, à moins que vous ne passiez la valeur de la var JavaScript sur L'URL, mais c'est une mauvaise solution.

0
répondu fonini 2011-11-25 11:23:35

tu ne peux pas faire.. parce que jsp est compilé et converti en Côté Serveur html alors que javascript est exécuté du côté client. vous pouvez définir la valeur à un élément html caché et envoyer à servlet dans request juste au cas où vous voulez utiliser pour plus de

0
répondu dku.rajkumar 2011-11-25 11:26:33

comme JavaScript est côté client et JSP est Côté Serveur.

donc Javascript ne s'exécute pas jusqu'à ce qu'il arrive au navigateur, Mais Java s'exécute sur le serveur. Ainsi, Java ne connaît pas la valeur de la variable JavaScript.

cependant vous assignez la valeur de la variable Java à la variable JavaScript.

0
répondu gprathour 2011-11-25 11:27:20