stuntrepresent
Messages postés2Date d'inscriptionmercredi 7 février 2007StatutMembreDernière intervention31 juillet 2009
-
31 juil. 2009 à 15:53
stuntrepresent
Messages postés2Date d'inscriptionmercredi 7 février 2007StatutMembreDernière intervention31 juillet 2009
-
31 juil. 2009 à 17:20
Bonjour,
je tiens tout d'abord à saluer l'esprit d'entraide qui règne sur ce forum que je consulte très souvent mais sur lequel je n'avais encore jamais osé poser de question.
Il se peut que ce soit trivial mais je suis dessus depuis un bon moment et je n'ai rien trouvé de similaire sur le forum.
J'ai hésité entre les sections Java et Javascript pour poser ma question, la voici :
J'ai un champ texte dans une JSP dans lequel je dois pouvoir entrer un entier.
j'utilise la propriété onKeyPress de mon champ texte pour appeler une fonction Javascript qui fait cette vérification. Jusque là tout va bien.
Je voudrais maintenant limiter les valeurs possibles pour ce champ texte à partir d'un tableau d'entiers représentant les valeurs possibles.
Ces valeurs sont en fait stockées en base de données, je les extraits de la base dans le controller de ma page JSP et je passe un tableau d'entiers en attribut dans ma requête. Ainsi, depuis la page JSP, je peux récupéré ce tableau et le passer en paramètre de ma fonction JSP.
Avec Firebug, je peux voir ce qui se passe pendant l'exécution du Javascript, en fait, la fonction Javascript reçoit l'adresse du tableau : [I@4ab168. En fait, je me doutais qu'il y avait peu de chance qu'un objet Java soit directement utilisable en Javascript mais je pensais trouver un moyen de conversion relativement simple mais malheureusement, je sèche.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 31 juil. 2009 à 17:04
Salut,
Il n'y a aucune interraction possible entre une variable java et une variable javascript : ce sont deux langages bien différents, donc l'un est exécuté sur le serveur (java) et l'autre au niveau client (javascript).
Une solution possible, c'est de récupèrer la valeur de ta variable et la passer dans une variable javascript dans ta page jsp, par exemple :
function javaScript() {
var variable = <%tableauJava[0]%>; // récupèration de la première valeur de ton tableau...
}
Une autre solution : passer par AJAX pour envoyer une requête vers le serveur, qui te renverra sous la forme d'un flux xml (parsable en javascript donc) ou directement en JSON (directement interpretable en javascript donc) pour récupèrer les valeurs de ton tableau en question.
Je te conseille la seconde approche qui est bien plus standard...
______________________________________
DarK Sidious
stuntrepresent
Messages postés2Date d'inscriptionmercredi 7 février 2007StatutMembreDernière intervention31 juillet 2009 31 juil. 2009 à 17:20
Merci Mr Palpatine ;)
Entre temps j'avais utilisé une solution un peu moins propre en construisant un String à partir de mon tableau d'entiers (les entiers concaténés en fait). J'ai placé cette chaîne de caractère dans un champ caché de ma JSP, je pouvais ainsi venir lire la valeur depuis le Javascript.
Cette solution ne me convenait pas vraiment car pas très "propre" donc je vais me pencher sur ta seconde solution et la mettre en œuvre si ça n'implique pas de trop grosses contraintes.