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>的用法(jsp获取action中的值或者方法)的更多相关文章

  1. jsp获取Session中的值

    摘要:这个问题算是老生常谈了,我也是一段时间没弄过了,所以感觉有些忘了,就记录一下. 一.后端通过shiro在session中存储数据: // username是前台传过来的用户名 if (subje ...

  2. struts框架中OGNL表达式的使用之jsp页面获取action中的属性值

    在jsp页面中获取action中的值: 1.写一个action类OgnlAction类: 需要注意的地方: 如果在aciton中直接使用ognl表达式,将值存储的值栈中,是不能通过跳转将值传到jsp页 ...

  3. struts2中怎么把action中的值传递到jsp页面

    对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种: 使用转发视图利用request域中储存所需的值 使用重定向时存储数据进入session使其在jsp中可以获得 下面,让 ...

  4. JS或jsp获取Session中保存的值

    JS是不能读取Session中的值的 . session是服务器对象, javascript是客户端脚本,你能做的操作就是把这个值用 <%=%>输出到页面的javascript中参与运算, ...

  5. struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

    Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...

  6. 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

    Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...

  7. Android控件ListView获取item中EditText值

    能够明白,如今没有直接方法能够获得ListView中每一行EditText的值. 解决方式:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写Ba ...

  8. 10、一个action中处理多个方法的调用第二种方法method的方式

    在实际的项目中,经常采用现在的第二种方式在struct.xml中采用清单文件的方式 我们首先来看action package com.bjpowernode.struts2; import com.o ...

  9. 10、一个action中处理多个方法的调用第一种方法动态调用

    我们新建一个用户的action package com.weiyuan.test; import com.opensymphony.xwork2.ActionSupport; /** * * 这里不用 ...

随机推荐

  1. python-爬虫学习(文字、图片、视频)

    爬虫-文字爬取 import re import requests respone = requests.get('https://ishuo.cn/') ##获取网站url data = respo ...

  2. pwnable flag之write up

    Papa brought me a packed present! let's open it. Download : http://pwnable.kr/bin/flag This is rever ...

  3. 单链表 C语言 学习记录

    概念 链接方式存储 链接方式存储的线性表简称为链表(Linked List). 链表的具体存储表示为: 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的). 链表中 ...

  4. Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api

    本文作者:小雷FansUnion-一个有创业和投资经验的资深程序员-全球最大中文IT社区CSDN知名博主-排名第119   实际项目中非常需要写文档,提高Java服务端和Web前端以及移动端的对接效率 ...

  5. Android渐变GradientDrawable叠加组合环ring

     Android渐变GradientDrawable叠加组合环ring 写一个Android环形shape之间的叠加组合形成新图像的例子.代码: <?xml version="1. ...

  6. [Istioc]Istio部署sock-shop时rabbitmq出现CrashLoopBackOff

    因Istio官网自带的bookinfo服务依赖关系较少,因此想部署sock-shop进行进一步的实验. kubectl apply -f <(istioctl kube-inject -f so ...

  7. 洛谷 P3800 Power收集

    题目背景 据说在红雾异变时,博丽灵梦单身前往红魔馆,用十分强硬的手段将事件解决了. 然而当时灵梦在Power达到MAX之前,不具有“上线收点”的能力,所以她想要知道她能收集多少P点,然而这个问题她答不 ...

  8. BZOJ 1221: [HNOI2001] 软件开发【最小费用最大流】

    Description 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员 ...

  9. 【分块+树状数组】codechef November Challenge 2014 .Chef and Churu

    https://www.codechef.com/problems/FNCS [题意] [思路] 把n个函数分成√n块,预处理出每块中各个点(n个)被块中函数(√n个)覆盖的次数 查询时求前缀和,对于 ...

  10. 《TCP/IP详解卷1:协议》——第2章:链路层(转载)

    1.引言 从图1-4可以看出,在TCP/IP协议族中,链路层主要有三个目的: (1)为IP模块发送和接收IP数据报: (2)为ARP模块发送ARP请求和接收ARP应答. (3)为RARP发送RARP请 ...