1.OGNL表达式
OGNL的用法
<%@ taglib uri="/struts-tags" prefix="s" %>导入标签
OGNL中的特殊字符#,%,$
#的用法:#可以用于获得域对象的值,也可以用于定义一个map
%的用法:强制解析为OGNL表达式(或强制不解析为OGNL表达式),只能在OGNL标签中使用
$的用法 :
2.值栈
当一个action被创建时时,同时会创建一个为之服务的ValueStack
值栈的内部结构
root区域--CompoundRoot----其实就是一个ArrayList
放一些对象
context区域--OgnlContext----其实就是一个Map
放一些web开发常见对象的应用,比如request,session,application
获得值栈对象
两种方式
操作值栈对象--向值栈的root中存入数据
1.在action中提供属性的get方法就可以存入,如下,就可以在页面通过 <s:property value="user.username"/>获得用户名
2.通过push或set将数据置于栈顶,set方法会生成一个map对象,并将其置于栈顶