我有点沮丧,因为我无法找出我可以使用放置在 JSP 页面中的 Struts 标记中的 ${...}
语法访问哪些变量。
例如,我有以下代码:
<c:set target="${status.menue}" property="activeMenuePath" value="whatever" />
必须在哪里定义对象 "status.menue"
才能使用美元符号和大括号访问。它是在另一个 struts tile 中还是在表单中定义的?
最佳答案
它应该放在任何页面、请求、 session 或应用程序范围内,分别使用 JspContext#setAttribute()
, ServletRequest#setAttribute()
, HttpSession#setAttribute()
或 ServletContext#setAttribute()
.您通常直接或间接在 Servlet 中执行此操作。 MVC 框架间接执行此操作,通常可通过为模型对象提供“请求”、“ session ”或“应用程序”范围来进行配置。
Expression Language (EL)将使用 JspContext#findAttribute()
访问它们.
这一切都与 Struts 无关。它只是一个建立在 JSP/Servlet API 之上的遗留 MVC 框架。 <c:set>
不是 Struts标签也是,它是 JSTL标签。
关于java - 在 JSP 页面的 Struts 标记中可以使用 ${...} 语法访问哪些变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2719632/