Search code examples
javajakarta-eesetattributerequest-object

Using request.setAttribute in a JSP page


Is it possible to use request.setAttribute on a JSP page and then on HTML Submit get the same request attribute in the Servlet?


Solution

  • No. Unfortunately the Request object is only available until the page finishes loading - once it's complete, you'll lose all values in it unless they've been stored somewhere.

    If you want to persist attributes through requests you need to either:

    1. Have a hidden input in your form, such as <input type="hidden" name="myhiddenvalue" value="<%= request.getParameter("value") %>" />. This will then be available in the servlet as a request parameter.
    2. Put it in the session (see request.getSession() - in a JSP this is available as simply session)

    I recommend using the Session as it's easier to manage.