If you are doing a form action, this is requiring the client to make a NEW request to the server.
Instead, if you used <jsp:include> or <jsp:forward> (i.e. you are request dispatching instead), then the request object will be reused and your attribute will be there.
It's a lot the same as redirect vs. dispatch. The top one makes the client make the redirect by making a new request. The bottom one is doing things server side, and using the same request object.