¿Cómo acceder a un atributo de solicitud establecido por un servlet en JSP?

Estoy tratando de recuperar los valores de los atributos establecidos por un servlet en una página JSP, pero solo tengo suerte con los parámetros por ${param} . No estoy seguro de qué puedo hacer diferente. Tal vez es simple, pero no pude manejarlo todavía.

 public void execute(HttpServletRequest request, HttpServletResponse response) { //there's no "setParameter" method for the "request" object request.setAttribute("attrib", "attribValue"); RequestDispatcher rd = request.getRequestDispatcher("/Test.jsp"); rd.forward(request,response); } 

En el JSP he intentado recuperar el “attribValue”, pero sin éxito:

   

Test attribute value: ${param.attrib}

Si paso un parámetro a través de todo el proceso (página de invocación, servlets y página de destino), funciona bastante bien.

Ya está disponible en el scope EL predeterminado, así que solo

 ${attrib} 

debería hacer.

Si desea especificar explícitamente el scope (EL buscará en particular la página, la solicitud, la sesión y los ámbitos de la aplicación en secuencia para el primer valor de atributo no nulo que coincida con el nombre del atributo), deberá referirlo por el mapa de scope en su lugar. que es ${requestScope} para el scope de la solicitud

 ${requestScope.attrib} 

Esto solo es útil si tiene posiblemente un atributo con exactamente el mismo nombre en el ámbito de la página que, de lo contrario, tendría prioridad (pero dicho caso suele indicar un diseño deficiente después de todo).

Ver también:

  • Nuestra página wiki de EL
  • Tutorial de Java EE 6 – Lenguaje de Expresión

Tal vez una comparación entre la syntax EL y la syntax scriptlet te ayuden a entender el concepto.

  • param es como request.getParameter()
  • requestScope es como request.getAttribute()

Debe indicar el request attribute de request parameter .

has intentado usar

 <% request.getAttribute("attrib"); %>