How to access at request attributes in JSP?
Asked Answered
H

3

63

Currently I use:

<%
final String message = (String) request.getAttribute ("Error_Message");
%>

and then

<%= message %>

However I wonder if the same can be done with EL or JSTL instead of using a scriptlet.

Harass answered 6/2, 2011 at 10:18 Comment(0)
I
95

EL expression:

${requestScope.Error_Message}

There are several implicit objects in JSP EL. See Expression Language under the "Implicit Objects" heading.

Icarus answered 6/2, 2011 at 10:45 Comment(4)
That requestScope is by the way optional. The ${Error_message} will scan in all scopes, in order of page, request, session and application and return the first match.Alamode
@Alamode Thanks for the hint. But I probably keep the requestScope anyway.Harass
Thanks, I provided a new one now.Icarus
Thanks a lot. I used Client client = new Client(); client.setName("María"); request.setAttribute("client", client); and in my jsp page I used ${ client.name } and It wroks fine.Rabbet
V
4

Using JSTL:

<c:set var="message" value='${requestScope["Error_Message"]}' />

Here var sets the variable name and request.getAttribute is equal to requestScope. But it's not essential. ${Error_Message} will give you the same outcome. It'll search every scope. If you want to do some operation with content you take from Error_Message you have to do it using message. like below one.

<c:out value="${message}"/>
Valediction answered 18/5, 2016 at 7:54 Comment(0)
D
1

Just noting this here in case anyone else has a similar issue.
If you're directing a request directly to a JSP, using Apache Tomcat web.xml configuration, then ${requestScope.attr} doesn't seem to work, instead ${param.attr} contains the request attribute attr.

Dabster answered 21/6, 2017 at 13:7 Comment(1)
param is request parameter NOT attribute. These are 2 different things.Snout

© 2022 - 2024 — McMap. All rights reserved.