struts2重写request的方法引发的问题!(加不加#号问题)
来源:互联网 发布:fedora与ubuntu 编辑:程序博客网 时间:2024/06/10 20:39
在Action中我们把jsp需要的数据放到指定的域中,但是在struts2中,你知道struts重写了request对象的getAttrbute()方法:
DepartmentAction类中:
jsp显示页面中:
我的疑惑是:
我在Action类中ActionContext.getContext().put("departmentList", departmentList);这里到底是放到了哪里,我们知道这里是放到的ActionContext的上下文中,
默认是放到了request域中了。
我从jsp中取departmentList.我们发现这里的
<s:iterator value="departmentList">这行代码中没有加#号,这让我很疑惑。然后我就开始做实验,发现呢?加不加#页面显示都没有错误。这里我就更疑惑了,既然是放到了ActionContext的上下文,
那么就是map,就必须加#号。
通过我查阅资料:发现是struts2重写了request的getAttrbute方法。
#departmentList:这里就是从上下文中查找,默认查找request。而恰恰ActionContext.getContext().put("departmentList", departmentList);默认放的位置是request。因此
可以取到。
departmentList:不加#号,这里默认是先从值栈中找,找不到就去request中找。
#request.departmentList:这里就是从request域中找。
1 0
- struts2重写request的方法引发的问题!(加不加#号问题)
- Struts2中namespace引发的路径问题
- equals()方法的重写问题
- JS原型重写引发问题的小例子
- struts2.0.14 更换为2.1.8引发的问题
- Struts2中由doubleselect标签引发的问题
- SAPOsCol引发的问题
- 学历引发的问题
- 并发引发的问题
- #define 引发的问题
- 更新引发的问题
- 计时器引发的问题
- fork引发的问题
- const_cast 引发的问题
- AsyncTask引发的问题
- background引发的问题
- AsyncTask引发的问题
- AsyncTask引发的问题
- __VA_ARGS__用法(转)
- softwave
- 【机房重构】SQLHelper
- 错误信息:Warning Cannot modify header information - headers already sent by 的解决方法fi
- [hdu] CUP
- struts2重写request的方法引发的问题!(加不加#号问题)
- 我工作中所遇到的业务总结(一)
- Java集合框架——集合框架概况
- 黑马程序员_Java基础(Java概述,关键字,标识符,注释,常量,变量
- when_september_ends
- performSelector 使用
- 自定义结构--单链表实现
- 第十一周 阅读程序(3)
- maven命令