una servlet recibir pasar parametros getparameter enviar datos clase java jsp servlets

java - servlet - request.setattribute jsp



Cómo enviar parámetros desde un servlet (3)

Estoy intentando utilizar un RequestDispatcher para enviar parámetros de un servlet.

Aquí está mi código de servlet:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String station = request.getParameter("station"); String insDate = request.getParameter("insDate"); //test line String test = "/response2.jsp?myStation=5"; RequestDispatcher rd; if (station.isEmpty()) { rd = getServletContext().getRequestDispatcher("/response1.jsp"); } else { rd = getServletContext().getRequestDispatcher(test); } rd.forward(request, response); }

Aquí está mi jsp, con el código para leer el valor; sin embargo, muestra nulo.

<h1>response 2</h1> <p> <%=request.getAttribute("myStation") %> </p>

Gracias por cualquier sugerencia. Verder


En su servlet use request.setAttribute de la siguiente manera

request.setAttribute("myStation", value);

donde el valor pasa a ser el objeto que desea leer más tarde.

y extraerlo más tarde en un servlet / jsp diferente utilizando request.getAttribute como

String value = (String)request.getAttribute("myStation")

o

<%= request.getAttribute("myStation")>

Tenga en cuenta que el alcance del uso de get / setAttribute es de naturaleza limitada: los atributos se restablecen entre las solicitudes. Si tiene la intención de almacenar valores por más tiempo, debe usar la sesión o el contexto de la aplicación, o mejor una base de datos.

Los atributos son diferentes de los parámetros, ya que el cliente nunca establece atributos. Los desarrolladores usan más o menos los atributos para transferir el estado de un servlet / JSP a otro. Por lo tanto, debe usar getParameter (no hay setParameter) para extraer datos de una solicitud, establecer atributos si es necesario usando setAttribute, reenviar la solicitud internamente usando RequestDispatcher y extraer los atributos usando getAttribute.


Use getParameter () . Se establece un atributo y se lee internamente dentro de la aplicación.


En tu código, String test = "/response2.jsp?myStation=5";

Está agregando myStation = 5 como cadena de consulta. Como los parámetros de cadena de consulta se almacenan como parámetros de solicitud en Objeto de solicitud.

Por lo tanto, puedes usar,

Funciona bien. Gracias.