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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值