struts2 中ognl表达式

这些天写项目用到ognl表达式,在此总结,持续更新。

在此不写那些晦涩难懂的定义,纯属个人理解。

想弄懂struts必须搞懂值栈。值栈就是struts存放数据的一个库。

1、值栈

值栈由两部分组成。1.对象栈,存放action类对象。如果action实现了ModelDriven接口,会把具体model对象压入对象栈。先压action。

    2.map,就是以map(key,value)形式存在的数据。

2、action访问值栈

在action中想要访问对象栈,用ActionContext.getContext.getValueStack()的push(obj)和pop(obj)方法。

在action中想要访问map,用ActionContext.getContext.put(key,value)和get(key)方法。

3、jsp页面中访问值栈用ognl表达式。.

ognl表达式的格式:在struts.xml中用${表达式}

   在jsp页面中用%{表达式} 。之前必须加入标签<%@ taglib uri="/struts-tags" prefix="s"%>

ognl表达式的语句:如%{user}:在值栈中查找user,顺序为先在对象栈查找如果找到就返回。

如没在对象栈中找到则去map中找相应key为user的值找到就返回。如都没有返回null。

%{#user}:直接在map中查找相应key为user的值。

所以,如果你在action中想值栈里存入数据,就可以在jsp中通过ognl表达式获得你所存放的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值