<s:property>的用法
<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>的用法的更多相关文章
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
- chattr用法
[root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- [转]thinkphp 模板显示display和assign的用法
thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...
随机推荐
- 使用root直接安装python3.5.2
操作系统:Centos7.4 不使用pyenv管理器直接进行编译安装3.5.2版本. 下载tgz的包,如果没有安装wget,请yum -y install wget 解压python包: 将解压后的包 ...
- sql 查看表结构
sqlserver 查看表结构 exec sp_help @TableName --得到表信息.字段,索引.constraint. exec sp_pkeys @TableName --得到主键. e ...
- web实现本地缓存的方法
Cookie(或者Cookies) 指一般网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). cookie一般通过http请求中在头部一起发送到服务器端.一条c ...
- 实现reentrantlock和读写锁
1 可以手动实现一个类似reentrantlock的工具,首先要维护一个state的标志,代表当前是否有线程已经使用资源.线程lock的时候, 会用cas给state加1,其他线程检测状态.另外需要维 ...
- Learning Python 004 基础的数据类型和变量
Python 基础的数据类型和变量 数据类型 整数 Python可以处理任意大小的整数,当然包括负整数. Python表示十六进制也用0x前缀. 浮点数 1.23x10^9和12.3x10^8是完全相 ...
- R: data.frame 数据框的:查询位置、排序(sort、order)、筛选满足条件的子集。。
################################################### 问题:数据框 data.frame 查.排序等, 18.4.27 怎么对数据框 data.f ...
- Python + winpcap抓包和发包
winpcapy Python的winpcapy库可以简单地实现收发Layer2层(数据链路层,以太网)数据. winpcapy主页:https://github.com/orweis/winpcap ...
- Entity Framework Code-First(9.10):DataAnnotations - NotMapped Attribute
DataAnnotations - NotMapped Attribute: NotMapped attribute can be applied to properties of a class. ...
- struts2的package和result的标签的属性
package的属性 1.name: 配置package元素时必须指定name属性,这是引用该包的唯一标识. 2.extends: 可选属性,指定该包继承的父包,子包可以从一个或多个父包中继承到拦截器 ...
- Codeforces Round #558 (Div. 2)C(计算几何,排列组合,模拟)
#include<bits/stdc++.h>using namespace std;typedef struct{ double k,b;}node;node k[1000007];bo ...