加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Struts2 “.”和“[]”操作符:获取ActionContext中的所有内容

发布时间:2020-12-15 02:41:09 所属栏目:Java 来源:网络整理
导读:Struts2 框架在 OGNL 的基础上得到了增强,提高了 Struts2 对数据的访问能力。在 Struts2 框架中,OGNL 上下文作用于 Struts2 中的 ActionContext 对象,ActionContext 对象是 Struts2 框架中的一个核心对象。 在 Struts2 框架中,当接收到一个 Action 请求时
Struts2 框架在 OGNL 的基础上得到了增强,提高了 Struts2 对数据的访问能力。在 Struts2 框架中,OGNL 上下文作用于 Struts2 中的 ActionContext 对象,ActionContext 对象是 Struts2 框架中的一个核心对象。

在 Struts2 框架中,当接收到一个 Action 请求时,Struts2 框架会创建 ActionContext 对象并示例化值栈等对象,由于 OGNL 上下文作用于 ActionContext 对象,因此通过 OGNL 表达式可以获取 ActionContext 中的所有内容,而获取这些内容时使用的是“.”和“[]”操作符。

语法:

#application|request|session|attr|parameters.name

#application|request|session|attr|parameters.['name']

这两个操作符用于获取 ActionContext中 的所有内容,即获取 application、request、session、attr 和 parameters。

上述代码分别相当于调用了 application.getAttribute("name")、request.getAttribute("name")、session.getAttribute("name")、request.getParameter("name")方法。

示例

本示例使用“#”来读取 ActionContext 对象中的一些数值,然后将获取的数据输出到页面中。

创建 OgnlAction.action 文件,在其中定义变量和编写 get 方法和 set 方法。

创建 index.jsp 文件,应用“#”获取相应资源的属性,关键代码如下:
<body>//使用“#”获取属性
  <p>request.userName:<s:property value="#request.userName"/></p>
  <p>session.userName:<s:property value="#session.userName"/></p>
  <p>application.userName:<s:property value="#application.userName"/></p>
  <p>attr.userName:<s:property value="#attr.userName"/></p>
</body>}
运行结果如下:
request.userName:这个属性来自request
session.userName:这个属性来自session
application.userName:这个属性来自application

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读