struts的调试标签:获取的是值栈信息 ognl表达式的作用:获取值栈的信息
第一种用处
1.通过ognl获取action中的普通属性:
复制代码
1
2
3<!-- value里面写属性名 --> <s:property value="uname"/>
2.通过ognl获取action中的对象属性:
复制代码
1
2
3<!-- value里面写对象名 --> <s:property value="user"/>
3.通过ognl获取action中的对象属性中的属性(通过属性名称):
复制代码
1
2
3<!-- value里面写对象名.属性名 --> <s:property value="user.uname"/>
4.通过ognl获取action中的对象属性中的属性(通过调用方法):
复制代码
1
2
3<!-- value里面写对象名.get方法名 --> <s:property value="user.getUname"/>
5.通过ognl获取action中的对象属性中的对象:
复制代码
1
2
3<!-- value里面写对象名.另一个对象名 --> <s:property value="user.dog"/>
6.通过ognl获取action中的对象属性中的对象的属性(调用属性名称):
复制代码
1
2
3<!-- value里面写对象名.另一个对象名 .属性名--> <s:property value="user.dog.dname"/>
7.通过ognl获取action中的对象属性中的对象的属性(调用方法):
复制代码
1
2
3<!-- value里面写对象名.另一个对象名的get方法 .属性名的get方法--> <s:property value="user.getDog().getDname()"/>
第二种用处:
调用action中的普通方法
1.通过ognl调用action中的普通方法:
复制代码
1
2
3<!-- value里面写方法如果有参数则在里面写参数--> <s:property value="getAdd(1,1)"/>
2.通过ognl调用action中的静态方法:
复制代码
1
2
3<!-- value里面先写@再写该方法所在的包名.类名@方法名.--> <s:property value="@com.hlp.action.AddAction@add()"/>
2.通过ognl调用action中的静态属性:
复制代码
1
2
3<!-- value里面先写@再写该方法所在的包名.类名@属性名.--> <s:property value="@com.hlp.action.AddAction@sum"/>
3.通过ognl调用API中的静态属性:
复制代码
1
2
3<!-- value里面先写@@API中的默认属性名.--> <s:property value="@@PI"/>
4.通过ognl调用API中的静态方法:
复制代码
1
2
3<!-- value里面先写@@API中的方法名(有参数的写参数)--> <s:property value="@@max(1,3)"/>
第三种用处:通过ognl获取作用域中的List集合
1.通过ognl获取集合中的所有对象:
复制代码
1
2
3<!-- value里面写#作用域.集合名--> <s:property value="#request.list"/>
2.通过ognl获取集合中的所有对象的某一个属性:
复制代码
1
2
3<!-- value里面写#作用域.集合名.{属性名}--> <s:property value="#request.list.{uname}"/>
3.通过ognl获取集合中的所有对象中的某一个对象:
复制代码
1
2
3<!-- value里面写#作用域.集合名[下标]--> <s:property value="#request.list[0]"/>
4.通过ognl获取集合中的所有对象中的中狗的对象:
复制代码
1
2
3<!-- value里面写#作用域.集合名.{对象名}--> <s:property value="#request.list.{dog}"/>
5.通过ognl获取集合中的所有对象中的中狗的对象的某个属性:
复制代码
1
2
3<!-- value里面写#作用域.集合名.{对象名}[下标].属性名--> <s:property value="#request.list.{dog}[0].dname"/>
复制代码
1
2
3
4
5
6
7<!-- 使用ognl遍历对象中的某个属性 --> <s:iterator value="#request.list.{dog}" var="li"> <s:property value="li.dname"/> </s:iterator>
第四种方式
1.通过ognl获取作用域中的set集合
通过ognl获取集合中的所有对象:
复制代码
1
2<s:property value="#request.set"/>
复制代码
1
22.通过ognl获取集合中的中的某一个对象:
复制代码
1
2<s:property value="#request.set.iterator().next()"/>
复制代码
1
23.通过ognl获取集合中的中的所有对象的某一个属性:
复制代码
1
2<s:property value="#request.set.{uname}[0]"/>
复制代码
1
24.遍历set集合
复制代码
1
2
3
4<s:iterator value="#request.set" var="set"> <s:property value="#set.dog.dname"/> </s:iterator><br/>
复制代码
1
2
3
4第五种方式: 通过ognl获取作用域中的map集合 1.通过ognl获取集合中的所有对象:
复制代码
1
2s:property value="#request.map"/>
复制代码
1
22通过ognl获取集合中的所有的键:
复制代码
1
2<s:property value="#request.map.keySet()"/><br/>
复制代码
1
23.通过ognl获取集合中的所有的值中的对象中的值:
复制代码
1
2<s:property value="#request.map.values().{dog}.{dname}"/>
复制代码
1
24.遍历map集合
复制代码
1
2
3
4<s:iterator value="#request.map.values()" var="map"> <s:property value="#map.uname"/> </s:iterator>
最后
以上就是标致汽车最近收集整理的关于ognl(s标签)的详细用处的全部内容,更多相关ognl(s标签)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复