java - 在 JSP 页面的 Struts 标记中可以使用 ${...} 语法访问哪些变量?

标签 java jsp struts jstl el

我有点沮丧,因为我无法找出我可以使用放置在 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/

相关文章:

java - 使用 Log4j 日志记录实用程序指定我自己的附加程序(或行为)

java - 使用 GSON 解析 Ajax 请求中的 JSON 数组

java - 如何使用 "Zip File System Provider"在 Java 中遍历 ZIP 文件?

java - 如何使用struts2预填充复选框列表

java - 如何连接hibernate和DB2

java - 所有出现的包含方法

java - 两个处理的项目在e4中使用相同的命令,一个被触发,另一个不被触发

java - Struts2 xml-验证调用方法

java - 两个html下拉列表事件

java - 使用 Tomcat (Eclipse) 调试 GWT 应用程序