在JSP页面的Struts标记中使用$ {...}语法可以访问哪些变量? [英] Which variables can be accessed with the ${...} syntax in a Struts tag in a JSP page?

查看:76
本文介绍了在JSP页面的Struts标记中使用$ {...}语法可以访问哪些变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有点沮丧,因为我无法通过Struts标记中的 $ {...} 语法找出我可以访问的变量,放在JSP页面中。

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" />

对象在哪里status.menue必须定义才能使用美元符号和大括号进行访问。它是在另一个struts tile中还是在窗体中定义的?

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?

推荐答案

它应放在任何页面,请求,会话中或者分别使用 JspContext #setAttribute() ServletRequest#setAttribute() HttpSession#setAttribute() Servle tContext#的setAttribute() 。您通常直接或间接在Servlet中执行此操作。 MVC框架通过给模型对象提供请求,会话或应用程序范围来间接地执行此操作。

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.

表达式语言(EL)将使用 JspContext#findAttribute()

这一切都与Struts无关。它只是一个基于JSP / Servlet API构建的遗留MVC框架。 < c:set> 不是 Struts 标记好吧,这是一个 JSTL 标签。

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.

这篇关于在JSP页面的Struts标记中使用$ {...}语法可以访问哪些变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆