值栈问题:struts2的值栈分值和栈,即map类型的数据和存放在栈里面的数据。
ModelDriven的源码:它会将model放在对象栈的栈顶。
从上面,我们看到值栈里面存在着数据中心,里面有些页面传递过来的数据。作用范围:是一个请求,request
那么如何从struts2的数据中心获取数据呢,即jsp页面如何获取这值栈里面的数据呢。
jsp页面获取值栈中心的数据:利用OGNL或者EL表达式获取。
OGNL表达式:
获取map的数据用“#”
OGNL的格式和语法:
有时候如果是表达式的时候,可以不写%{}
对象栈中有默认的搜索行为:所有有时候直接写对象栈中的属性即可,即从对象栈中获取:
若我们从数据库中获取了数据,得向页面传送,这个时候,我们先将数据存放到值栈中,然后jsp页面再从值栈获取。
EL表达式:
EL表达式用${}
改为这个EL表达式的格式:数据也可以从值栈中获取;用的是struts2包装了的request对象
封装的源码:
查找顺序:
request中找不到,就从值栈中找。
原文:http://www.cnblogs.com/fengli9998/p/6507036.html