Question

Comment puis-je passer un paramètre d'un useBean d'une page en JSP à une servlet en Java? J'ai des données dans un formulaire qui est transmis sans problème avec un bouton d'envoi, mais aucun moyen d'envoyer autre chose. S'il vous plaît aider? Voici mon code:

<input name = "deleteGameButton" type = "submit" value = "Delete"
 onclick = "submitToServlet('DeleteGameServlet');">

Voici le javascript correspondant:

 function submitToServlet(newAction)
 {
   document.userGameForm.action = newAction;
 }

J'aimerais que la servlet ait accès à userBean

 <jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />
Était-ce utile?

La solution

Vous vous trompez un peu ici.

onclick () est un script Javascript exécuté du côté client. Il n'a pas de moyen (direct) de mettre à jour un bean de session. Ce bean est laissé sur le serveur et a été utilisé lorsque la page HTML a été générée . Pour renvoyer les paramètres à servlet, vous devez utiliser de bons anciens champs de formulaire et soumettre le formulaire.

Ajoutez d'autres champs au formulaire, définissez leurs valeurs avant de les soumettre, puis soumettez-les.

Dans l'appel du servlet request.getParameter (" nom ");

P.S. Pour automatiser ce genre de choses, USE STRUTS . :-) Struts fait exactement ce que vous voulez: avant de passer les paramètres à l’action, il remplit le bean avec ces paramètres. En toute transparence.

Autres conseils

Cela dépend exactement de ce que vous essayez de faire. Le

<jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />

La balise

vous permettra d’utiliser l’attribut userBean de la session dans votre jsp. S'il n'y a pas d'attribut userBean dans la session, il en créera un nouveau (en utilisant le constructeur par défaut pour org.project.User) et le placera dans la session.

Ensuite, lorsque vous arrivez au servlet, vous pouvez le récupérer avec:

User user = (User)request.getSession().getAttribute("userBean");
 getServletConfig().getServletContext().getRequestDispatcher("servlet path & name");         
 dispatcher.forward (request, response);

Bonjour, essayez avec le tag suivant:

<jsp:useBean id = "userBean" scope = "session" class = "org.project.User"/>
 <jsp:setProperty name="beanName" property="propertyname" value="value"/>
</jsp:useBean>

plus ici

Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top