OGNL应用场景
应用场景
1.标签:<s:property value="user.name" />
2.配置文件:<result type="redirect">/main.jsp?name=${name}</result>
3.将值传递到前台:<s:property value="user.name" />
4.调用action中的静态方法<s:property value="@cn,cstp.org.action.LoginAction@get()" />
5.调用值栈中的普通方法:<s:property value="user.get()"/>
6.调用jdk中的静态方法:<s:property value="@java.lang.math@floor(44.5)"/> 注意:@@floor(44.5) 也可以,原因是@@默认为java.lang.Math
7.获取集合list:<s:property value="testList" /> 结果["list1","list2"]
8.获取集合(List)的某一个元素 <s:property value="testList[index]" />
9.获取set <s:property value="testSet" /> 结果:["set1","set2"] 要获取其中的某一个元素需要迭代
10.Map获取第一个元素 <s:property value="testMap['keyValue']" />
集合的伪属性
获取长度 <s:property value="testList.size" />
获取Map中所有的键[值] <s:propertiy value="testMap.keys[testMap.values]"
11.使用lambada表达式计算阶乘 <s:property value="#f=:[#this==1?#f("#this-1")].#f(4)"