Pregunta

¿Cómo paso un parámetro de useBean de una página en JSP a un servlet en Java? Tengo algunos datos en un formulario que se pasa sin problemas con un botón de envío, pero no hay forma de enviar nada más. ¿Por favor ayuda? Aquí está mi código:

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

Aquí está el javascript correspondiente:

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

Me gustaría que el servlet tenga acceso a userBean

 <jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />
¿Fue útil?

Solución

Aquí haces un desastre aquí.

onclick () es Javascript y se ejecuta en el lado del cliente. No tiene forma (directa) de actualizar el bean de ámbito de sesión. Ese bean se deja en el lado del servidor y se usó cuando se generó la página HTML . Para devolver los parámetros al servlet, debe usar los campos de formulario antiguos y enviar el formulario.

Agregue más campos al formulario, establezca sus valores antes de enviar, luego envíe.

En la llamada al servlet request.getParameter (" name ");

P.S. Para automatizar este tipo de cosas USE STRUTS . :-) Struts hace exactamente lo que quieres: antes de pasar los parámetros a la acción, llena el bean con esos parámetros. Transparentemente.

Otros consejos

Depende exactamente de lo que intentes hacer. El

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

La etiqueta

le permitirá usar el atributo userBean de la sesión en su jsp. Si no hay un atributo userBean en la sesión, creará uno nuevo (utilizando el constructor predeterminado para org.project.User) y lo colocará en la sesión.

Luego, cuando llegue al servlet, puede recuperarlo con:

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

Hola, prueba con la siguiente etiqueta:

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

más aquí

¡Buena suerte!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top