ognl

OGNL表达式:
xxx.say();
@java.lang.String@format('foo%s','bar')或@MyClass@URL

oghl有上下文概念,说白了就是一个map结构,实现了Map接口,Struts2的上下文
的实现是ActionContext;
STRUTS2中的OGNLContext实现者为actionContext 它有以下的
                               valuestack
                               parameter
ActionContext(map结构)-----  request
                               session
                               application
                               attr
()
   每个请求来后创建1 ActionContext,2ValueStack,3action 并把action放入
ValueStack中,所以action的实例可以被OGNL访问。
访问上下文中的对象:#request.userName或#request['userName']=====request.getAttribute("userName")
                    #session  ...   
访问跟对象ValueStack里面的对象的属性  可直接写 
  
ValueStack的实现类是OgnlValueStack,在它里面有一个list类型的root变量就用它存放一组变量
在root中第一个对象叫栈顶对象(action)
Ognl表达式是配合Struts2标签用的
<s:propeety value="name"/>
通过el表达式(只可访问ValueStatic中的)可以访问root中的属性:${name}

例如:
Class Person{id,name}
Class Product{price,name}
root{new Person(1,诸葛),new Product(100,Mp4)}
直接写属性name<s:propeety value="name"/>
name找到的是第一个类的name,
price找到product的price,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值