Bonjour,
En fait j'aimerais récupérer, dans une classe java, la valeur d"une variable qui se trouve dans une page html.
Comment faire ?
Merci.
[Modéré par Didier]
Ajout de tag dans le titre
Lire les règles du forum : Règles du forum Java
Bonjour,
En fait j'aimerais récupérer, dans une classe java, la valeur d"une variable qui se trouve dans une page html.
Comment faire ?
Merci.
[Modéré par Didier]
Ajout de tag dans le titre
Lire les règles du forum : Règles du forum Java
Ton poste aurait du etre dans la section J2EE.... Un modo passera sans doute le déplacer. [edit] c'est génial, c'est fait le temps que j'écrive....[/edit]
Sinon il faut préciser ta question...
C'est une valeur dans un page fixe ailleur sur le web ou dans un formulaire que tu veux générer?
Premier cas c'est URLConnection et parser la réponse, dans le second cas c'est jsp et/ou servlet.
ok désolé
la valeur que je veux récupérer est générer par un script se trouvant dans une page html (Onglet.html) et jaimerais récupérer cette valeur dans la classe (Onglet.java). La classe est associée à ma page (Onglet.html).
J'arrive à faire l'inverse c'est à dire récupérer des variables de la classe (Onglet.java) à ma page hmtl (Onglet.html) avecMais je n'arrive pas à faire la même chose mais de la page html à la classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.Nom_Formulaire.Valeur_Champs.value
je suis pas sur de bien comprendre mais a priori si Onglet.java est une servlet tu peux recuperer dans ta servlet dans la fonction doGet ou doPost ton parametre de la facon suivant:
Ce qui te retourne un String !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 request.getParameter("Valeur_Champs");
UML avec VIOLET
ok mais si la valeur que je veux récupérer et dans une variable dans un code javascript de ma page hmtl comment faire ?
exemple :
J'aimerais récupérer la valeur dans onglet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function Recharge(nTab) { onglet = nTab ; }
Je te propose une solution :
1) Tu met une variable en champs caché onglet <input type="hidden" name="ongletvar"> dans ton formulaire
2) Dans ton javascript, tu fais un truc du style
function Recharge(nTab)
{
onglet = nTab ;
window.document.monFormulaire.ongletvar.value=onglet;
}
3) Dans ton java, tu fais :
if (request.getParameter("ongletvar")!=null)
{
//Traitement
}
Voila, si je me suis pas trompé.
Koko22
tu est obligé de passé par le HTML pour l'obtenir !! le javascript ne peut pas communiqué directement avec le java !!
La solution est de mettre un champ hidden dans un formulaire de ta page
par exemple tu aurais dans ton html un :
et le javascript serai le suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form action="urlServlet" name="formulaire"> <input type="hidden" name="valeurChamps"/> </form>
du coup coté servlet tu recupere la valeur contenue dans ton champs hidden par le getParameter !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function Recharge(nTab) { document.formulaire.valeurChamps.value=onglet; document.formulaire.submit(); }
UML avec VIOLET
Bon bah ma reponse ressemble bcp a celle de koko22
Il a été un tout petit peu plus rapide que moi !!
Mais quoi qu'il en soi l'idée est la !!
UML avec VIOLET
ok merci a tous
Dis moi FreshVic est ec qu'il est obligé d'utiliser dans la fonction Recharge
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.formulaire.submit();
Si oui pk stp ?
c bon jai compris cependant pour récupérer la variable il faut recharger
l'urlServlet c'est a dire la servlet. Comment faire si je veux récupérer la valeur de ma variablesans recharger la page html
Code : Sélectionner tout - Visualiser dans une fenêtre à part ongletvar??
Code : Sélectionner tout - Visualiser dans une fenêtre à part (form action="UrlServlet" name="formulaire")
Tu enléve cette ligne : document.formulaire.submit();
Ca recharge la page
Koko22
si jenleve cette ligne cela ne pourra pas menvoyer la valeur
donc je ne pourrais pas la récupérer dans ma classe...
Comment faire alors? sans recharger la page !
Non,
La ligne suivante : document.formulaire.submit(); te permet d'envoyer ton formulaire.
C'est la ligne suivante document.formulaire.valeurChamps.value=onglet;
qui met la bonne valeur.
Koko22
Losrque j'enleve la ligne que tu me dis
je n'arrive plus à récupérer la valeur de la variable dans ma classe.
Alors que si je la laisse je récupére bien la valeur mais je suis obliger de passer par le rechargement de ma page...
Comment faire pour ne pas recharger ma page et récolter la valeur dans ma classe ?
Je comprend pas trop ou est ton probleme !!
La fonction .submit() envoie le formulaire a l'url indiqué dans l'attribut action de ta balise form en faisant cela la valeur du champs caché est transmis tu n'as donc rien a recharger c'est le submite qui appelle la servlet !!
UML avec VIOLET
C'est impossible
tu ne peux pas communiqué avec la servlet sans recharger ta page !!
(enfin je pense)
UML avec VIOLET
je suis d'accord avec toi la valeur de la variable est bie transmise mais l'attribut action tu es obligé de lui donné le nom de ta page html.
Ce qui va obligé la page html que tu as précisé dans action de se recharger afin de compiler le nouveau code avec l'ancien.
Bref , c'est pas grave merci bcp pour votre aide
Je vais faire avec.
A plus tard et merci
ok je comprend alors tu dois surement avoir raison
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager