1,访问Action值栈中的普通属性: 
<s:property value="attrName"/> 
2,访问Action值栈中的对象属性(要有get set方法): 
<s:property value="obj.attrName"/> 
<s:property value="obj1.obj2.attrName"/> 
3,访问值栈中对象属性的方法 
<s:property value="obj.methodName()"/> 
4,访问值栈中action的普通方法: 
<s:property value="methodName()"/> 
5,访问静态方法: 
<s:property value="@com.softeem.LoginAction@methodName()"/> 
6,访问静态属性: 
配置属性文件,允许ognl访问静态方法struts.ognl.allow...=true 
<s:property value="@com.softeem.LoginAction@attrName"/> 
7,访问Math类的静态方法: 
<s:property value="@@min(9,7)"/> 
8,访问普通类的构造方法: 
<s:property value="new com.softeem.User(2)"/> 
9,访问集合: 
①list集合对象 
<s:property value="listName"/> 
②list集合中的某个元素 
<s:property value="listName[1]"/> 
③list中某个属性的集合 
<s:property value="listName.{field}"/> 
④list中某个属性集合的特定值 
<s:property value="listName.{field}[0]"/> 
⑤访问set 
<s:property value="setName"/> 
⑥访问set中某个元素 
<s:property value="setName[0]"/> 
⑦访问map 
<s:property value="mapName"/> 
⑧根据key访问Map中的元素 
<s:property value="mapName.username"/> 
<s:property value="mapName['username']"/> 
<s:property value="mapName[/"username/"]"/> 
⑨访问map中所有的key 
<s:property value="mapName.keys"/> 
10,访问map中所有的values 
<s:property value="mapName.values"/> 
11,访问map的大小 
<s:property value="mapName.size()"/> 
12,投影 
<s:property value="listName.{?#this.age==1}"/> 
<s:property value="listName.{^#this.age>1}"/> 
<s:property value="listName.{$#this.age==1}"/> 
<s:property value="listName.{$#this.age==1}.{age}==null"/> 
[]:<s:property value="[0]"/>值栈中的对象 
--------------------------------------- 
  访问action中传过来的对象:<s:property value="user"/>|${user }<br> 
  访问action中传过来的对象中的属性:<s:property value="user.username"/>|${user.username }<br> 
   访问action中传过来的对象属性类中的方法:<s:property value="user.getUsername()"/><br> 
访问action中传过来的对象中的对象:<s:property value="user.group"/><br> 
访问action中传过来的对象中的对象的属性:<s:property value="user.group.gname"/> | 
<s:property value="user.group.getGname()"/><br> 
访问action中的普通方法:<s:property value="getValue()"/><br> 
访问其他类中过的静态方法:<s:property value="@com.softeem.pojos.User@printUser()"/><br> 
   取到Math类中的方法:<s:property value="@@max(12,45)"/><br> 
   访问User类的构造方法:<s:property value="new com.softeem.pojos.User()"/><br> 
   访问list:<s:property value="users"/><br> 
   获取list的长度:<s:property value="users.size()"/><br> 
   取到list中第一个元素:<s:property value="users.get(0)"/>|<s:property value="users[1]"/><br> 
取到list中username属性的集合:<s:property value="users.{username}"/><br> 
根据key取到map中的元素:<s:property value="userMap.张三"/>| 
<s:property value="userMap['三毛']"/><br> 
⑨访问map中所有的key:<s:property value="userMap.keys"/><br> 
10,访问map中所有的values:<s:property value="userMap.values"/><br> 
11,访问map的大小:<s:property value="userMap.size()"/><br> 
12,投影:<s:property value="users.{?#this.username=='张三'}.{password}"/><br> 
13,取到list中满足条件的开头的一个元素的密码:<s:property value="users.{?#this.username='张三'}.{password}[0]"/><br> 
14,取到list中满足条件的最后的一个元素的密码:<s:property value="users.{$#this.username='张三'}.{password}"/><br> 
15,<s:property value="users.{$#this.username=='admin'}.{group}==null"/><br> 
16,从栈顶开始取,一直取到指定的位置(0表示栈底):<s:property value="[1]"/> 
   <s:debug></s:debug>

<s:property>的用法的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  10. [转]thinkphp 模板显示display和assign的用法

    thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...

随机推荐

  1. 一. kafka 入门

    一.基本概念 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据.这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素. K ...

  2. ng2 样式控制之style绑定和class绑定

  3. 使用SVG + CSS实现动态霓虹灯文字效果

    效果图: 原理:多个SVG描边动画使用不同的animation-delay即可! 对于一个形状SVG元素或文本SVG元素,可以使用stroke-dasharray来控制描边的间隔样式,并且可以用str ...

  4. hadoop自己写的最高温度程序源码

    package com.teset; import java.io.IOException; import java.util.StringTokenizer; import org.apache.h ...

  5. 韩顺平循序渐进学JAVA从入门到精通 视频全套,需要的联系我

    0讲-开山篇.avi 10讲-访问修饰符.重载.覆盖.avi 11讲-约瑟夫问题.avi 12讲-多态.avi 13讲-抽象类.接口.avi 14讲-final.作业评讲.avi 15讲-作业.测试题 ...

  6. 利用Admin-LTE项目搭建自己前端的开发框架模板

    1 完整版本 1.1 下载admin-lte项目源代码 github下载地址:点击前往 三少云盘地址:点击前往 1.2 查看admin-lte精简主页源代码 页面地址:点击前往 注意:由源代码可以知道 ...

  7. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  8. HBase表数据分页处理

    HBase表数据分页处理 HBase是Hadoop大数据生态技术圈中的一项关键技术,是一种用于分布式存储大数据的列式数据库,关于HBase更加详细的介绍和技术细节,朋友们可以在网络上进行搜寻,笔者本人 ...

  9. 将前台传回的HttpServletRequest转换成HashMap

    import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Set; impor ...

  10. 滴水穿石 C#中多线程 委托的使用

    什么是多线程?我们在建立以个C#项目时,往往会在Form1上添加控件,然后写代码,初 学者都是在重复这个过程,其实这个过程是单线程的,可以理解为只有“main”主线程,有 的时候往往需要同时测量多个东 ...