我有点沮丧,因为我无法找到可以使用放置在 JSP 页面中的 JSTL 标记中的
${...}
语法访问哪些变量。
作为示例,我有以下代码:
<c:set target="${status.menue}" property="activeMenuePath" value="whatever" />
必须在哪里定义对象
"status.menue"
才能使用美元符号和大括号进行访问。它是在另一个 struts 磁贴中还是在表单中定义的?
JspContext#setAttribute()
、ServletRequest#setAttribute()
、HttpSession#setAttribute()
或 ServletContext#setAttribute()
放置在任何页面、请求、会话或应用程序范围中。通常,您可以在 Servlet 内直接或间接地执行此操作。 MVC 框架间接地做到这一点,通常可以通过为模型对象提供“请求”、“会话”或“应用程序”范围来配置。
表达式语言 (EL) 将使用
JspContext#findAttribute()
访问它们。
顺便说一句,这一切都与 Struts 无关。它只是一个构建在 JSP/Servlet API 之上的遗留 MVC 框架。
<c:set>
也不是 Struts 标签,它是 JSTL 标签。