Struts2学习记录2(ValueStack(值栈)和ognl)

一、ValueStack(值栈)

1、是ActionContext中的一个对象,值栈是栈结构(FILO:先进后出);

Struts2中值栈存放的数据是Action对象

注意:Action对象可以ValueStack,我们可以对象值栈进行操作,但是建议不是很熟就不要去操作了

二、ognl(对象图形导航语言)表达式  也就是一个第三方的插件

学过的表达式--el表达式-等---用简洁的表达式完成比较复杂的功能

1、能够访问对象的普通方法

2、能够访问类的静态属性和静态方法

3、强大的操作几个类对象的能力

4、支持赋值操作和表达式串联

5、访问OGNL上下文的ActionContext(一般都使用这个)



Struts2中使用该表达式是通过Struts2的标签来取的

需要的包

<!-- Struts2中的ognl表达式包 -->
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>3.1.4</version>
</dependency>

在jsp页面中如下引入标签库

<%@ taglib prefix="s" uri="/struts-tags" %>  

在页面中使用可以直接<s:property value="action中的属性名"/>

或者是<s:property value="#session.user"中的属性名"/>


这就是在学习记录1中的那个大数据(大范围的数据)及ActionContext中的前五大对象

ActionContext包含6大对象:

1,Application

2,request

3,session

4,attr(page->request->sesssion->application)括号中是取值顺序

5,parameters

6,ValueStack(值栈)

然后不加#号取值的话就是取值栈中的数据

注意:要使用struts2的标签,那么要通过struts2过滤器来启用,如果过滤器的配置为 *.action的时候不能直接访问jsp页面,需要action跳转

如果直接访问/*是可以直接访问jsp页面,

Struts推荐不能直接访问jsp页面,推荐使用action来控制

结论:使用ognl表达式访问action属性时,可以直接访问,访问ActionContext中的数据的时候需要加上#



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值