valuestack,stackContext,ActionContext.之间的关系以及action的数据在页面中取得的方法...

  转自:http://blog.csdn.net/quechao123/article/details/4406148

1.三者之间的关系如下图所示:

relation

 

 

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
 
  1. <s:iterator value="#{'憾地神牛':'01','矮子火枪':'02','沉默术士':'03'}" id="name1" status="st">  
  2. <tr <s:if test="#st.even">style="background-color:#bbbbbb"</s:if>>  
  3. <td><s:property value="key"/></td>  
  4. <td><s:property value="value" /></td>  

 

转载于:https://www.cnblogs.com/exe19/p/5382200.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值