struts2简单入门-OGNL表达式
- 什么是OGNL表达式
- Object-Graph Navigation Language的缩写。
- 可以遍历整个对象结构图,实现对象类型转换等功能的表达式。
- OGNL实际上是个Map集合,有一个上下文根对象。
- ActionContext作为OGNL上下文,并把ValueStack作为根对象。
- ValueStack
- 可以执行,增加,删除,查询。
- struts2会把Action放到栈顶。

- OGNL中的几个家伙
- #
- 访问非根对象属性
#session.msg
相当于 ActionContext.getContext().getSession().getAttribute("msg");
- %
- 字符串类型时,计算OGNL表达式
- $
- 在国际化资源文件中,引用OGNL表达式
- 在Struts 2框架的配置文件中引用OGNL表达式
- @
- 访问静态方法
- 常用标签
- 流程控制标签
<s:if test="{}"></s:if>//if表达式
<s:if test="{}"></s:if><s:else></s:else>//if else 表达式
<s:ifelse test="{}"></s:ifelse>//Ifelse 表达式
//test 字符串 要加%{} 判断集合元素的符号 in,not in
//in 判断集合是否在当前集合内,not in 判断集合是否不在当前集合内. OGNL过滤表达式
?://获取所有符合的元素
^://获取第一个符合的元素
$://获取最后一个符合的元素 <s:iterator value=""></s:iterator>
//对一个集合进行迭代
//id 集合内元素的ID
//status 指定迭代对象名称
<s:iterator value="books.{?#this.price > 35}">
//?#this.price > 35 this 指取当前集合内的属性值符合条件的元素。
<s:property value="title" /> - $<s:property value="price" />
</s:iterator>- 通用标签
<s:property value="">
//default 获取属性值.
//scope 指定命名空间.
//value 属性名
//id 元素标识 <s:set scope="" name="" value="">
//设置属性值 value 如果是字符串需要加'',否则会当成变量.
//scope 可以是application、session、request、 page或action. <s:action id="" name="" namespace="" executeResult="false|true" ignoreContextParams="false|true"/>
//action 引用名称 namespace 命名空间 executeResult 是否返回视图 ignoreContextParams 是否传递参数 <s:bean id="" name="">
// id 引用名称 带id 标签结束不会移除对象 name 实现类全路径
<s:param name="" value=""/>
//name 参数名称 value 参数值
</s:bean> <s:date format="" nice="" name="" id=""/>
//format 日期输出格式 nice 输出时间差 name 时间值 id 引用名称- 调试标签
<s:debug/>
//输出所有的信息valuestack context <s:fielderror/>
//控制端 调用addFieldErrors(,) <s:actionerror/>
//获取Action错误消息 需要在控制端调用addActionError 方法 <s:actionmessage/>
//获取Action消息 需要在控制端调用addActionMessage方法- 表单标签
- #
struts2简单入门-OGNL表达式的更多相关文章
- (补充)9.Struts2中的OGNL表达式
OGNL表达式概述 1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关 ...
- 20160502-struts2入门--ognl表达式
一.OGNL表达式语言 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts 2框架使用OGNL作为默认的表达式语言 ...
- struts2学习笔记--OGNL表达式1
struts2标签库主要使用的是OGNL语言,类似于El表达式,但是强大得多,它是一种操作对象属性的表达式语言,OGNL有自己的优点: 能够访问对象的方法,如list.size(); 能够访问静态属性 ...
- struts2框架之OGNL表达式概述(在代码中使用OGNL表达式)
1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象 * 通 ...
- Struts2中的OGNL表达式
一.OGNL表达式简介 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.所谓对象图,即以任意一个对象为根,通过OGNL可以访问 ...
- 【java开发系列】—— struts2简单入门示例
前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了js ...
- struts2中使用ognl表达式时各种符号的使用规则$,#,%
OGNL表达式struts2标签“%,#,$” 一.什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一 ...
- 【基于初学者的SSH】struts2 值栈的详解与struts2标签库+ognl表达式
一:什么是值栈:struts2里面本身提供的一种存储机制,类似于域对象,值栈,可以存值和取值 特点:先进后出,最上面的元素叫做栈顶,也叫压栈. <s:debug></s:debug& ...
- 2018.11.24 struts2中的OGNL表达式及两者的结合
OGNL表达式 OGNL:对象视图导航语言. ${user.addr.name} 这种写法就叫对象视图导航. OGNL不仅仅可以视图导航.支持比EL表达式更加丰富的功能. 理解图示 使用OGNL准备工 ...
随机推荐
- SQL Server百万级大数据量删除
删除一个表中的部分数据,数据量百万级. 一般delete from 表 delete from 表名 where 条件: 此操作可能导致,删除操作执行的时间长:日志文件急速增长: 针对此情况处理 de ...
- JavaScript简单了解
一.JavaScript 的诞生历史 在最初的时候 JS 主要解决的问题是一些服务器端语言(perl)对数据的 验证功能,在js 出现之前要对表单的数据进行验证需要将数据提交到服务器 端之后才能验证数 ...
- Filebeat原理与简单配置入门
Filebeat工作原理 Filebeat由两个主要组件组成:prospectors 和 harvesters.这两个组件协同工作将文件变动发送到指定的输出中. Harvester(收割机):负责读取 ...
- C++笔记--thread pool【转】
版权声明:转载著名出处 https://blog.csdn.net/gcola007/article/details/78750220 背景 刚粗略看完一遍c++ primer第五版,一直在找一些c+ ...
- (PAT)L2-012 关于堆的判断 (最小堆)
题目链接:https://www.patest.cn/contests/gplt/L2-012 将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: “ ...
- vue-百度地图-maker文字标签显示隐藏
html: <div id="allmap" class="map"></div> script: mounted() { th ...
- DAY15、模块
一.函数的补充 1.函数回调: 提前在另一个函数中写出函数的调用,再根据实际的需求去考虑函数体的实现 def download(fn=None): print('开始下载') my_sleep(1) ...
- 好用的UI设计工具
51yuansu 好用的在线画UI图工具 51yuansu.com processon.com processon在线画图工具,程序流程图及UI设计原型图,脑图等 draw.io的PC版画图工 ...
- Python——Django-__init__.py的内容
一.告诉Django用pymysql来代替默认的MySQLdb(在__init__.py里) import pymysql #告诉Django用pymysql来代替默认的MySQLdb pymysql ...
- Win10图片打不开文件系统错误2147416359解决方法
该问题表现为win10打开所有图片都会提示这个‘文件系统错误-2147416359’,打开其他文件没问题.此问题应该是win10自带的图片查看器出了故障. 在网上找到如下方案,但是我的服务列表里没有这 ...