Which variables can be accessed with the ${…} syntax in a Struts tag in a JSP page?

我与影子孤独终老i 提交于 2019-12-01 23:32:29

问题


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?


回答1:


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.



来源:https://stackoverflow.com/questions/2719632/which-variables-can-be-accessed-with-the-syntax-in-a-struts-tag-in-a-jsp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!