Passage de paramètre sans l'utilisation de formulaires HTML en JSP
J'ai fait quelques recherches, et la majorité des exemples que j'ai trouvé de l'utilisation de formulaires (évidemment pour la saisie de l'utilisateur) pour collecter des données qui est ensuite transmis à une autre page JSP par le biais de l'objet de la requête.
Ma question est: Est-il possible de passer un paramètre entre les pages JSP si le paramètre n'a pas été mis en HTML <form>
tags?
Pour moi, c'est pas tout à fait clair ce que tu veux dire par "passer un paramètre entre les pages JSP"? Sont ceux des pages JSP distinctes demandes à partir du navigateur ou est-il un côté serveur demande l'envoi? Et quel genre de paramètre voulez-vous passer? La saisie de l'utilisateur, certains de traitement/d'état de l'utilisateur, ...?
OriginalL'auteur Lycana | 2009-05-14
Vous devez vous connecter pour publier un commentaire.
Il n'y a aucune manière une page JSP peut faire la différence entre un construits manuellement OBTENIR l'url, par exemple:
<a href="/foo.jsp?bar=baz">Go to the next JSP page</a>
, par rapport à quelque chose comme:De toute façon il peut être consulté par le biais de
getParameter
ougetParameterValues
Est que ce que vous demandez?
OriginalL'auteur Matthew Flaschen
Il y a un peu de moyens pour transmettre des informations d'une page JSP à l'autre.
1. Valeurs cachées.
Il suffit d'écrire les données d'un champ de saisie dans un formulaire avec le type de "caché", par exemple
Les données écrites va donc être affichés lorsque le formulaire est soumis. Ce peut être une façon utile de 'porter' des informations que l'utilisateur remplit une série de boîtes de dialogue que l'etat est le côté utilisateur et l'arrière et de l'avant boutons fonctionnent comme prévu.
2. URL de l'écriture.
Fixer les paramètres d'Url dans les liens sur la page, par exemple
Cela assure également l'état avec le client, tout en éliminant la nécessité d'un élément de formulaire pour être soumis.
3. Les témoins.
Devrait parler pour lui-même.L'état est toujours du côté utilisateur, mais est maintenant gérée par un cookie. De plus en plus fragile à certains égards, puisque certaines personnes de désactiver les cookies. Aussi les boutons précédent et suivant peut faire des choses inattendues si vous n'êtes pas prudent
4. Côté serveur (session)
Enfin, vous pouvez stocker les données dans une variable de session sur un JSP et de les récupérer sur l'autre, par exemple
et
Ici l'état est gardé de côté de serveur qui a certains avantages (l'utilisateur peut naviguer loin et revenir sans perdre sa place, mais a tendance à faire des boutons précédent et suivant dans le navigateur peu fiables, à moins que vous êtes prudent. Aussi la valeur est disponible pour toutes les pages.
Il n'a toutefois l'avantage que l'information n'est jamais envoyé au client et est donc la plus sécurisée et la plus inviolable.
OriginalL'auteur Kris
Vous habituellement de transmettre les données entre servlet/JSP ou des pages JSP dans l'étendue des attributs (dans la demande, la session ou application). E. g.
request.setAttribute("key", data)
pouvez définir des "clés" de l'attribut dans une JSP, etrequest.getAttribute("key")
vous reçoit dans d'autres JSP (si plusieurs pages Jsp sont le traitement d'une même demande).Il est possible de créer de faux paramètres par emballage de votre demande, et en remplaçant getParameter et méthode similaire, si c'est ce que vous avez vraiment besoin.
Mise à jour: ma réponse est de parler de la transmission des données entre plusieurs parties qui tous les processus d'une même demande. Cela peut ou peut ne pas être ce que vous voulez, tant que votre question n'est pas claire.
OriginalL'auteur Peter Štibraný