struts-OGNL
特点 常用来访问值栈里对象属性的一种语言
通常由struts标签来解析执行 <%@ taglib prefix="s" uri="/struts-tags"%>
值栈 特点 ValueStack
栈的特点:后入先出
内容 对象栈 存放action的实例及相关对象
Map栈 存放封装web资源的Map对象 application,session,request,parameter
attr 通用属性,按照request,session,application的顺序查找属性值
实际上是ActionCont的引用
API 通过 ActionContext 对象的 getValueStack() 获取值栈对象
方法 push(Object) 把对象压入对象栈的顶部
pop() 移除对象栈的顶部对象(类似删除)
peek() 得到对象栈顶部的对象(类似get)
访问方式
struts标签 <s:property value=""/> 只输出<s:property/>会输出栈顶的对象
访问对象栈 <s:property value="属性名"/> 按先后顺序匹配属性名,只输出找到的第一个
可定义起始位置 value="[索引]['属性名']" (索引值从0开始)
value="[索引].属性名"
访问Map栈 <s:property value="#作用域.key"/> 如果作用域=attr,按照request,session,application的顺序查找属性值
访问对象的方法 value=“[起始索引].方法名(参数列表)” 实例方法
访问类的静态方法和属性 value=“@全类名@方法名(参数列表)”
value=“@全类名@静态属性名(参数列表)” 静态方法和属性,默认不允许访问,要在struts里打开
打开的语句<constant name="struts.ogrl.allowStaticMethodAccess" value="true"></constant>
访问对象的集合属性 输出集合内容 value=“[起始索引].集合属性名”
访问集合单元 数组和List value=“[起始索引].集合属性名[索引]”
Map value=“[起始索引].集合属性名[‘key’]”
获取集合长度 数组 value=“[起始索引].集合属性名.lenght”
List和Map value=“[起始索引].集合属性名.size”
判断内容是否为空 value=“[起始索引].集合属性名.isEmpty”
使用EL 访问对象栈 ${属性名} 按先后顺序匹配属性名,只输出找到的第一个,不能定义查找的起始位置
访问Map栈 ${作用域.属性名}
struts-OGNL的更多相关文章
- struts OGNL详解
首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的 ...
- struts OGNL数据标签
OGNL对象图导航语言,类似于el表达式,strut的底层就是用这个写的在导入struts-core的时候会导入ognl.jar public class Test { public static v ...
- Struts ognl表达式语言几个符号
# 获取非根元素值 . 动态都建map集合 $ 配置文件取值 % 提供一个ognl表达式运行环境 <%@ page language="java" import=&q ...
- Struts 2 OGNL
1.什么是OGNL? 2.Struts 2 OGNL 表达式 ====================== 华丽丽的分割线 ====================== 1.什么是OG ...
- Struts(五)之OGNL、contextMap
一.OGNL 1.1.定义 OGNL是Object-Graph Navigation Language的缩写,它是一个单独的开源项目. Struts2框架使用OGNL作为默认的表达式语言.它是一种功能 ...
- Struts(十一):OGNL表达式(二)
Map栈 :request,session,application的一个属性值或一个请求参数的值. 若想访问ContextMap里的某个对象的属性,可以使用以下几种之一: #object.proper ...
- java框架篇---struts之OGNL详解
OGNL(Object Graph Navigation Language),是一种表达式语言.使用这种表达式语言,你可以通过某种表达式语法,存取Java对象树中的任意属性.调用Java对象树的方法. ...
- Struts(21)OGNL具体解释
Struts2 中内置了OGNL表达式的支持,使得Struts2的具有比Struts1更为强大的数据訪问的功能.本文主要解说OGNL的用法.并不会去解说一些原理性的东西.想要了解的朋友能够自己去查阅相 ...
- Struts2入门(五)——OGNL和标签库
一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigatio ...
- 4. ValueStack 和 OGNL
1. 属性哪来的 当我们通过Action处理完用户请求以后,可以直接在页面中获取到 action 的属性值. 如果我们在页面中尝试遍历四个域中的属性,会发现域中并没有username之类的Action ...
随机推荐
- 分布式缓存技术memcached学习(二)——memcached基础命令
上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...
- node.js安装
Node.js是一个基于Chrome JavaScript运行时建立的一个平台,用来方便地搭建快速的,易于扩展的网络应用Node.js借助事件驱动,非阻塞I/O模型变得轻量和高效,非常适合run ac ...
- 基于.NET的免费开源的模板引擎---VTemplate(转)
1.VTemplate模板引擎的简介 VTemplate模板引擎也简称为VT,是基于.NET的模板引擎,它允许任何人使用简单的类似HTML语法的模板语言来引用.NET里定义的对象.当VTemplate ...
- SQL Server 日期字段作为查询标志字段的注意事项
今天在做一个数据抽取程序时遇到一个问题困扰好久才解决,这不是技术问题,而是常识和细心的问题.写出来让大家引起重视一下. 由于之前的程序长期用Oracle,并且数据标志字段采用的日期类型.在Oracle ...
- ZeroMQ接口函数之 :zmq_msg_set - 设置消息的性质
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_msg_set zmq_msg_set(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_m ...
- GregorianCalendar类
Calendar类实现了公历日历,GregorianCalendar是Calendar类的一个具体实现. Calendar 的getInstance()方法返回一个默认用当前的语言环境和时区初始化的G ...
- IE8浏览器不能识别CSS伪类的解决办法。
1. 方法一:开头加上这两句 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- Open Data Structure Templates
数据结构模板 Chen 2016/12/22 前言 本篇博客的模板,全部是我纯手打的,如果有发现错误,请在下方留言指正:).欢迎大家参考. 有一些地方还不是很完善,等过一阵子用C++实现和部分重构下. ...
- 刷新本地的DNS缓存数据
ipconfig /flushdns”执行,刷新本地的DNS缓存数据. ipconfig /displaydns 查看本地DNS缓存记录的命令为:ipconfig /displaydns.你 ...
- 如何在spring容器开始后,和销毁前,执行一些操作
转:参考文档:资料链接