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>
分享到:
相关推荐
struts2 OGNL之<s:property>标签访问值栈(value stack)用法,希望能对大家有帮助
(1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7) <s:textfield>、<s:password>、<s:checkbox>、<s:textarea> (8) <s:select>、<s:...
(1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7) <s:textfield>、<s:password>、<s:checkbox>、<s:textarea> (8) <s:select>、<s:...
1. <s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用 H: 1. <s:head/>-----在<head></head>里使用,表示头文件结束 2. <s:hidden></s:hidden>-----隐藏值 I: 1. <s:...
Windows 脚本技术参考手册(CHM)<br>目录:<br>Windows 脚本技术 <br><br> Windows 脚本技术<br><br> JScript<br> VBScript<br> 脚本运行时<br><br> Dictionary 对象<br> FileSystemObject 对象<br> 脚本 Encoder<br>...
如果对象是当前页面的,则要使用# 1. <s:bean id="locales" name="com.turorial.Locales" >...</s:bean> <s:property value="#locales"/>
10.1 sitemesh基本使用方法 194 10.2 sitemesh高级应用 198 10.2.1 <page:applyDecorator>和<decorator:getProperty>标签的使用介绍 198 10.2.2 <decorator:usePage>、<decorator:useHtmlPage>和<decorator:head>...
16.zip<br>Comment / Uncomment macros<br>命令/反命令宏(5KB)<END><br>17,17.zip<br>Custom built files<br>自定义生成的文件(5KB)<END><br>18,18.zip<br>Define Method<br>定义方法(5KB)<END><br>19,19.zip<br>...
其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替>会有更好的效果,因为 FreeMarker会把>解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:<#if (x>y)> ...
在<br>CLASSPATH 中新建log4j.properties 配置文件,内容如下:<br>log4j.rootLogger=DEBUG, stdout <br>log4j.appender.stdout=org.apache.log4j.ConsoleAppender <br>log4j.appender.stdout.layout=org.apache.log...
<p>后台管理具体描述如下:</P> <p>(1) 公告管理最新网上购物系统 </P> <p>◆ 添加公告,包括公告标题和公告内容等;<最新网上购物系统 /P> <p>◆ 修改公告;</P> <p>◆ 删除公告。<最新网上购物系统 /P> <p>(2) ...
-disableassertions[:<packagename>...|:<classname>] disable assertions -esa | -enablesystemassertions enable system assertions -dsa | -disablesystemassertions disable system assertions -agentlib:...
实现一个默认的构造方法(constructor)<br>4.1.3. 提供一个标识属性(identifier property)(可选) <br>4.1.4. 建议使用不是final的类 (可选)<br>4.2. 实现继承(Inheritance)<br>4.3. 实现equals()和hashCode...
实现一个默认的构造方法(constructor)<br>4.1.3. 提供一个标识属性(identifier property)(可选) <br>4.1.4. 建议使用不是final的类 (可选)<br>4.2. 实现继承(Inheritance)<br>4.3. 实现equals()和hashCode...
<p>one</p> <div><p>two</p></div> <p>three</p> jQuery 代码: $("div > p"); 结果: [ <p>two</p> ] -------------------------------------------------------------------------------- 在文档的第一个表单...
2.6.2 使用请求转发的动作标识<jsp:forward> 2.6.3 子动作标.iR<jsp:param>~使用 2.7 实战检验 2.7.1 输出九九乘法表 2.7.2 JSP中实现随机抽奖 2.8 疑难解惑 2.8.1 在JSP页面中编写中文之后不能保存 2.8.2 访问JSP...
<constructor-arg value="v_v-s-baidu"/> <property name="httpOnly" value="true"/> <!--cookie的有效时间 --> <property name="maxAge" value="-1"/> <!-- 配置存储Session Cookie的domain为 一级...
OGNL是通常要结合Struts 2的标志一起使用,如<s:property value="xx" />等。大家经常遇到的问题是#、%和$这三个符号的使用。下面我想通过例子讲述这个问题: 首先新建名为Struts2_OGNL的Web工程,配置开发环境。之前...
<jsp:setProperty name="rd" property="path" value="d:/testsongyc.txt" /> Id:是类的代号 property:是属性名 value:是属性的值 3、取值 <jsp:getProperty id="localName" property="name" /> Id:是类的...
matlab提取文件要素代码...<strong>font-style</strong> will display <code>italic</code>, <code>normal</code>, <code>oblique</code> and a link to its documentation for extra information. <br><br><stro