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