Which variables can be accessed with the ${...} syntax in a Struts tag in a JSP page?
el, java, jsp, jstl, struts
Solution
It should be placed in any of the page, request, session or application scopes using respectively `JspContext#setAttribute()`, `ServletRequest#setAttribute()`, `HttpSession#setAttribute()` or `ServletContext#setAttribute()`. You normally do that either directly or indirectly inside a Servlet. MVC frameworks do that indirectly, usually configureable by giving the model object a "request", "session" or "application" scope.
The Expression Language (EL) will access them using `JspContext#findAttribute()`.
This all is by the way unrelated to Struts. It's just a legacy MVC framework which is built on top of the JSP/Servlet API. The `<c:set>` is not a Struts tag as well, it's a JSTL tag.
Problem
I'm getting a little bit frustrated since I can't find out which variables I can access with the `${...}` syntax in a Struts tag, placed in a JSP page. As an example I've got the following code: ``` <c:set target="${status.menue}" property="activeMenuePath" value="whatever" /> ``` Where does the object `"status.menue"` have to be defined in order to can be accessed with a dollar sign and braces. Is it defined in another struts tile or in the form?