我是靠谱客的博主 标致汽车,最近开发中收集的这篇文章主要介绍ognl(s标签)的详细用处,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

struts的调试标签:获取的是值栈信息 ognl表达式的作用:获取值栈的信息

第一种用处
1.通过ognl获取action中的普通属性:

<!-- value里面写属性名 -->
<s:property value="uname"/>

2.通过ognl获取action中的对象属性:

<!-- value里面写对象名 -->
<s:property value="user"/>

3.通过ognl获取action中的对象属性中的属性(通过属性名称):

<!-- value里面写对象名.属性名 -->
<s:property value="user.uname"/>

4.通过ognl获取action中的对象属性中的属性(通过调用方法):

<!-- value里面写对象名.get方法名 -->
<s:property value="user.getUname"/>

5.通过ognl获取action中的对象属性中的对象:

<!-- value里面写对象名.另一个对象名 -->
<s:property value="user.dog"/>

6.通过ognl获取action中的对象属性中的对象的属性(调用属性名称):

<!-- value里面写对象名.另一个对象名 .属性名-->
<s:property value="user.dog.dname"/>

7.通过ognl获取action中的对象属性中的对象的属性(调用方法):

<!-- value里面写对象名.另一个对象名的get方法 .属性名的get方法-->
<s:property value="user.getDog().getDname()"/>

第二种用处:
调用action中的普通方法
1.通过ognl调用action中的普通方法:

<!-- value里面写方法如果有参数则在里面写参数-->
<s:property value="getAdd(1,1)"/>

2.通过ognl调用action中的静态方法:

<!-- value里面先写@再写该方法所在的包名.类名@方法名.-->
<s:property value="@com.hlp.action.AddAction@add()"/>

2.通过ognl调用action中的静态属性:

<!-- value里面先写@再写该方法所在的包名.类名@属性名.-->
<s:property value="@com.hlp.action.AddAction@sum"/>

3.通过ognl调用API中的静态属性:

<!-- value里面先写@@API中的默认属性名.-->
<s:property value="@@PI"/>

4.通过ognl调用API中的静态方法:

<!-- value里面先写@@API中的方法名(有参数的写参数)-->
<s:property value="@@max(1,3)"/>

第三种用处:通过ognl获取作用域中的List集合

1.通过ognl获取集合中的所有对象:

<!-- value里面写#作用域.集合名-->
<s:property value="#request.list"/>

2.通过ognl获取集合中的所有对象的某一个属性:

<!-- value里面写#作用域.集合名.{属性名}-->
<s:property value="#request.list.{uname}"/>

3.通过ognl获取集合中的所有对象中的某一个对象:

<!-- value里面写#作用域.集合名[下标]-->
<s:property value="#request.list[0]"/>

4.通过ognl获取集合中的所有对象中的中狗的对象:

<!-- value里面写#作用域.集合名.{对象名}-->
<s:property value="#request.list.{dog}"/>

5.通过ognl获取集合中的所有对象中的中狗的对象的某个属性:

<!-- value里面写#作用域.集合名.{对象名}[下标].属性名-->
<s:property value="#request.list.{dog}[0].dname"/>
<!-- 使用ognl遍历对象中的某个属性 -->
<s:iterator value="#request.list.{dog}" var="li">
<s:property value="li.dname"/>
</s:iterator>


第四种方式
1.通过ognl获取作用域中的set集合
通过ognl获取集合中的所有对象:

   <s:property value="#request.set"/>
2.通过ognl获取集合中的中的某一个对象:
     <s:property value="#request.set.iterator().next()"/>
3.通过ognl获取集合中的中的所有对象的某一个属性:
     <s:property value="#request.set.{uname}[0]"/>
4.遍历set集合
	<s:iterator value="#request.set" var="set">
		<s:property value="#set.dog.dname"/>
	</s:iterator><br/>
第五种方式: 通过ognl获取作用域中的map集合 

1.通过ognl获取集合中的所有对象:
       s:property value="#request.map"/>
2通过ognl获取集合中的所有的键:
     <s:property value="#request.map.keySet()"/><br/>
3.通过ognl获取集合中的所有的值中的对象中的值:
    <s:property value="#request.map.values().{dog}.{dname}"/>
4.遍历map集合
   <s:iterator value="#request.map.values()" var="map">
		<s:property value="#map.uname"/>
	</s:iterator>

最后

以上就是标致汽车为你收集整理的ognl(s标签)的详细用处的全部内容,希望文章能够帮你解决ognl(s标签)的详细用处所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部