Frage

Wie gebe ich einen Parameter aus einer useBean Seite in JSP zu einem Servlet in Java? Ich habe einige Daten in einer Form, die kein Problem mit einem Submit-Button übergeben wird, aber keine Möglichkeit, irgendetwas anderes zu senden. Bitte helfen? Hier ist mein Code:

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

Hier ist die entsprechende javascript:

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

Ich würde das Servlet gerne Zugriff auf userBean haben

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

Lösung

Sie Art von Chaos Dinge hier.

Onclick () ist Javascript und auf Client-Seite ausgeführt. Es hat keine (direkte) Art und Weise sitzungs scoped Bohne zu aktualisieren. Das Bean links auf Server-Seite und wurde verwendet, wenn die HTML-Seite war erzeugt . Um Parameter übergeben Sie gute alte Formularfelder verwenden, müssen Servlet zurück, und das Formular abzuschicken.

Fügen Sie weitere Felder zum Formular, setzen ihre Werte vor einreichen, dann einreichen.

In Servlets Aufruf request.getParameter ( "name");

P. S. Zur Automatisierung dieser Art von Dingen USE STRUTS . :-) Struts genau das tut, was Sie wollen: bevor Sie die Parameter Aktion vorbei, es die Bohne mit diesen Parametern auffüllt. Transparentes.

Andere Tipps

Es hängt genau das, was Sie zu tun versuchen. Das

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

-Tag können Sie das userBean Attribut der Sitzung in Ihrem jsp verwenden. Wenn kein userBean Attribut in der Sitzung ist, wird es eine neue erstellen (unter Verwendung der Standard-Konstruktor für org.project.User) und legen Sie sie in der Sitzung.

Wenn Sie dann an das Servlet erhalten, können Sie abrufen es mit:

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

Hallo versucht mit dem nächsten Tag:

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

hier

Viel Glück!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top