Struts2的几种OGNL表达式的用法
1. 访问值栈(value stack contents)中的属性
<s:property value="username"/>
2. 访问值栈中对象的属性(set,get).如果是属性也是个对象,方法和EL表达式一样.
<s:property value="user.username"/>
3. 访问Action中的普通方法
<s:property value="loginUser()" />
4. 访问Action静态方法(commonAction是action所在的包,静态属性同理)
<s:property value="@commonAction.userAction@loginUser()" />
5. 访问List (会把这个List里所有的值都显示出来)
<s:property value="userList"/>
6. 访问List中的指定对象的属性,和iterator结合共同使用
<s:iterator value="friendList">
<s:property value="name" />
</s:iterator>
7. 访问map 把map里的所有的 键=值 显示出来
<s:property value="userMap"/>
8. 访问map指定键的值 (显示所有键userMap.keys;所有值userMap.values;Map长度: userMap.size() )
<s:property value="userMap.uname"/>
9. 投影 过滤.. {}里判断的是userList的条件 这里的this是指当前从值栈里得到的userList,注意1是int类型的
<s:property value="userList.{?#this.username==1}.{username}"/>
10. 过滤 条件是String类型的
<s:property value="userList.{?#this.username==/"a/"}.{username}"/>