OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。Struts2框架使用OGNL作为默认的表达式语言。

作用:取值,获取javaBean中的属性,获取List或者数组元素,获得Map的键值对,还可以执行逻辑运算。

要求:我们必须把OGNL表达式写在struts的标签中。

1.ognl对普通方法的调用

<%--  在<s:property/>的value属性中内部是ognl表达式,如果要输出字符串要加''--%><s:property value="'zhangsan'"/>
<%--  在<s:property/>的value属性中内部是ognl表达式,可以使用java的api--%><s:property value="'zhangs'.toUpperCase()"/>

2.ognl对静态变量和静态方法的使用

静态变量和静态方法的调用都要使用@中间是类的全路径@【静态变量或静态方法】,但是如果是静态方法的调用必须要在struts.xml中配置开启对静态方法的调用

<!--    开启ognl对静态方法的调用--><constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
<s:property value="@java.lang.Integer@MAX_VALUE"/>
<s:property value="@java.lang.Math@abs(-100)"/>

java struts2 表达式语言 ognl 简介相关推荐

  1. Java Web----EL(表达式语言)详解

    博文连接  Java Web中的EL(表达式语言)详解 表达式语言(Expression Language)简称EL,它是JSP2.0中引入的一个新内容.通过EL可以简化在JSP开发中对对象的引用,从 ...

  2. java xml 表达式语言_中级Java开发工程师笔试题

    JAVA笔试题 1) 描述Web Service的用途和调用方式的语言是(B). (选择一项) a) HTML b) WSDL c) JAVA d) XML 2) 在Web技术中,"无刷新& ...

  3. java struts2 安全漏洞 devMode 简介

    国家信息安全漏洞共享平台(CNVD)收录了由启明星辰公司提交的Apache struts2 devMode远程代码执行漏洞(CNVD-2016-04656).该漏洞产生的原因是由于开启了devMode ...

  4. Struts2中使用OGNL表达式语言访问静态方法和静态属性以及我遇到的问题和解决方法

    1.上一篇文章,我介绍了OGNL表达式语言,本来想在那篇文章上加上一个使用OGNL访问静态方法和静态属性的例子,但是昨天晚上我写代码时,报了一个警告,获取得到静态属性的值,却获取不到静态方法的返回值, ...

  5. Struts2之OGNL表达式语言

    1.OGNL是Object-Graph Navigation Language的缩写,是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构 ...

  6. Struts2的OGNL表达式语言

    支持Struts2的OGNL表达式语言(2009-04-25 01:11:36) <script></script> 标签:struts2 ognl it  分类:Spring ...

  7. java struts2值栈ognl_Struts2 (三) — OGNL与值栈

    一.OGNL表达式 1.概述 1.1什么是OGNL ​ OGNL是Object-Graph Navigation Language的缩写,俗称对象图导航语言. 它是一种功能强大的表达式语言,通过它简单 ...

  8. 深入理解Struts2中的OGNL表达式

    Struts 2中的表达式语言 Struts 2支持以下几种表达式语言: OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言: JST ...

  9. java struts2 框架 入门简介

    目录 一.Struts2框架执行流程 二.Struts2的快速入门 1.导入jar包 2.配置web.xml文件 3.配置struts.xml文件 4.创建Action来完成逻辑操作 三.Struts ...

最新文章

  1. 软考上午题难点5分钟攻克系列(十)
  2. 使用jpcap获取网卡硬件
  3. Spring SpEL表达式
  4. boost::spirit模块实现允许调整模板数据的技巧结构作为融合序列以用于直接属性传播的测试程序
  5. python将数据存入数据库_Python读取NGINX日志将其存入数据库
  6. python顺序结构实验设计_Python程序设计实验报告二:顺序结构程序设计
  7. 【英语学习】【Daily English】U13 Holiday L03 I certainly didn't expect this
  8. algorithm头文件下的reverse()
  9. 无法安装某些更新或程序
  10. ue4网格转地形_关于纬地结合扫描地形图进行道路设计和出图的教程
  11. Rust : range,[],vec,array中元素的类别
  12. 定时器Quartz和插件pageHelper使用
  13. Netfilter的rpfilter技术-Linux的uRPF
  14. QtCharts 折线、饼图代码
  15. 使用HTML批量拼图
  16. (转)优秀防火墙推荐列表
  17. VMware 无法将值写入注册表项
  18. 计算机的英语怎么拼读,拼音拼读怎么教
  19. 从抓取豆瓣电影聊高性能爬虫思路
  20. 互连网、互联网、因特网、万维网、局域网、以太网 区别

热门文章

  1. python -m uiautomator2 init 报错_Python|实现属于自己的数据类型
  2. OpenShift — 核心业务流程
  3. Sublime-text
  4. HTTP协议详解 转自小坦克
  5. Oracle数据库的impdp导入操作以及dba_directories使用方法
  6. 一次使用Eclipse Memory Analyzer分析weblogic内存溢出
  7. 好久没有冒泡了,今天花点时间总结下最近做的。
  8. dmidecode 命令详解(获取硬件信息)
  9. ModelSim之命令行仿真入门 (step 2)
  10. 微软拟对Office 2007增添新功能 增强安全性