valuestack,stackContext,ActionContext.之间的关系以及action的数据在页面中取得的方法
2016-04-12 12:45
549 查看
转自:http://blog.csdn.net/quechao123/article/details/4406148
1.三者之间的关系如下图所示:
2.action的数据在页面中取得的方法
在struts2标签内部使用的表达式是%{}为OGNL表达式,在JSP页面中可以使用形式为${}为EL表达式。
EG.如果取的值在valueStack中则直接引用即可,不需要#。但是如果指定id,就需要使用#,因为这时的参数是被放在stsckcontext中,而不是valuestack。eg.bean
2.1
如果需要引用valueStack中的值,需要使用这样的形式。
<s:iterator value="#userList" /> //userList在action部分被保存在Request中,所以使用#加属性名来引用值。
一般只要iterator用#引用了,下面的proper不用#,直接引用就可以了。
2.2
<s:textfield name="loginName" value="%{#request.loginNames}"/>
先用#将Stack Context中reques作用域中的loginNames属性取出,然后使用OGNL表达式%{}将其在Struts2标签内表示出来(此处%{}见得不多。要注意!!!我的理解是,一般需要表示出来文本的才使用。如iterator的value则不需要)。
2.3
如果是在JSP页面中,且不在Struts2标签内。则使用EL表达式 ${#request.loginNames}直接在HTML语句中表示。或者使用${requestScope.loginNames}
2.4
直接给一个iterator赋一个list,使用#{'a','b',....}
如果是map,则#{'key1':'value1','key2':'value2',....}
[java] view plain copy
<s:iterator value="#{'憾地神牛':'01','矮子火枪':'02','沉默术士':'03'}" id="name1" status="st">
<tr <s:if test="#st.even">style="background-color:#bbbbbb"</s:if>>
<td><s:property value="key"/></td>
<td><s:property value="value" /></td>
1.三者之间的关系如下图所示:
2.action的数据在页面中取得的方法
在struts2标签内部使用的表达式是%{}为OGNL表达式,在JSP页面中可以使用形式为${}为EL表达式。
EG.如果取的值在valueStack中则直接引用即可,不需要#。但是如果指定id,就需要使用#,因为这时的参数是被放在stsckcontext中,而不是valuestack。eg.bean
2.1
如果需要引用valueStack中的值,需要使用这样的形式。
<s:iterator value="#userList" /> //userList在action部分被保存在Request中,所以使用#加属性名来引用值。
一般只要iterator用#引用了,下面的proper不用#,直接引用就可以了。
2.2
<s:textfield name="loginName" value="%{#request.loginNames}"/>
先用#将Stack Context中reques作用域中的loginNames属性取出,然后使用OGNL表达式%{}将其在Struts2标签内表示出来(此处%{}见得不多。要注意!!!我的理解是,一般需要表示出来文本的才使用。如iterator的value则不需要)。
2.3
如果是在JSP页面中,且不在Struts2标签内。则使用EL表达式 ${#request.loginNames}直接在HTML语句中表示。或者使用${requestScope.loginNames}
2.4
直接给一个iterator赋一个list,使用#{'a','b',....}
如果是map,则#{'key1':'value1','key2':'value2',....}
[java] view plain copy
<s:iterator value="#{'憾地神牛':'01','矮子火枪':'02','沉默术士':'03'}" id="name1" status="st">
<tr <s:if test="#st.even">style="background-color:#bbbbbb"</s:if>>
<td><s:property value="key"/></td>
<td><s:property value="value" /></td>
相关文章推荐
- UGUI研究院之判断鼠标或者手指是否点击在UI上
- Android Exception: Build failed,unaligned.apks 拒绝访问
- easyUI的datagrid每行数据添加操作按钮的方法
- iOS中break、continue、return三者的区别
- IOS的UI基础01
- HDU 5288 OO's sequence (2015多校第一场 二分查找)
- AndroidUI——后台线程更新UI的几种方式
- AndroidUI——PopupWindow焦点问题
- Android:android.database.sqlite.SQLiteConstraintException:UNIQUE constraint failed
- IOS开发-UI学习-sqlite数据库的操作
- 限制UITextField输入长度
- hdu-1530-Maximum Clique-找最大团
- select, iocp, epoll,kqueue及各种I/O复用机制
- RA layer request failed
- Unique Paths II
- IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- 一个 forceLayout() 和 requestLayout() 的测试
- iOS UITextField 限制输入长度,中英文混排,汉字占2个长度,英文数字占1个长度
- 缺陷跟踪工具jira和团队协作与项目管理工具conflunce
- LeetCode 之 Increasing Triplet Subsequence