struts2 OGNL,struts2 表达式语言,Struts2 中OGNL表达式的用法,Struts2 #,表达式语言的好处,Struts2 $,struts2 井号,星号,百分号

表达式语言主要有以下几大好处:

1. 避免(MyType) request.getAttribute()和myBean.getMyProperty()之类的语句,使页面更简洁;

2. 支持运算符(如+-*/),比普通的标志具有更高的自由度和更强的功能;

3. 简单明了地表达代码逻辑,使用代码更可读与便于维护。

Struts2 中OGNL表达式的用法:

OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言;

“#”主要有三种用途:

1. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:

名称 作用例子

parameters 包含当前HTTP请求参数的Map#parameters.id[0]作用相当于request.getParameter("id")

request 包含当前HttpServletRequest的属性(attribute)的Map#request.userName相当于request.getAttribute("userName")

session 包含当前HttpSession的属性(attribute)的Map#session.userName相当于session.getAttribute("userName")

application 包含当前应用的ServletContext的属性(attribute)的Map#application.userName相当于application.getAttribute("userName")

attr 用于按request > session > application顺序访问其属性(attribute)#attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止

2. 用于过滤和投影(projecting)集合,如books.{?#this.price<100};

3. 构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}。

“%”的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。例如在Ognl.jsp中加入以下代码:

<hr />

<h3>%的用途</h3>

<p><s:url value="#foobar['foo1']" /></p>

<p><s:url value="%{#foobar['foo1']}" /></p>

“$”有两个主要的用途:

1. 用于在国际化资源文件中,引用OGNL表达式,例子请参考《在Struts 2.0中国际化(i18n)您的应用程序》

2. 在Struts 2配置文件中,引用OGNL表达式,如

<action name="AddPhoto" class="addPhoto">

<interceptor-ref name="fileUploadStack" />

<result type="redirect">ListPhotos.action?albumId=${albumId}</result>

</action>

ognl # % 的作用(井号,星号,百分号)相关推荐

  1. 安卓adb在拨号键盘上输入井号(#)星号(*)

    安卓系统下由于#号是属于内定字符,需要转义为%23 第一种方式: adb shell service call phone 1 s16 "%23" 第二种方式: adb shell ...

  2. 手机上的星号键和井号键有什么用?

    手机上的星号键和井号键一般都有什么用?今天可算是涨见识了. 我们平时打电话拨号的时候,会发现手机上的星号键和井号键通常会被闲置.那么,手机上的星号键和井号键有什么用? 首先,我们可以通过电话发展的历史 ...

  3. C语言阅读程序输出星号井号,C语言字符

    在实际开发中,程序员很少用单个字符来表示数据,字符的意义主要作为数组的时候可以形成一个字符串.在本章节中,我们重点介绍字符与整数之间的关系和ASCII码的相关知识. 字符类型char,只能用单引号' ...

  4. html中井号的作用,html5 css选择器 井号, 句点的区别

    一.理解CSS的样式组成CSS里的样式表是有规则组成的,每条规则有三个部分组成: 1.选择器(如下面例子中的:"body"),告诉浏览器文档的哪个部分受规则影响: 2.属性(如实例 ...

  5. URL中#号(井号)的作用

    1. 井号在URL中指定的是页面中的一个位置 井号作为页面定位符出现在URL中,比如:http://www.httpwatch.com/features.htm#print ,此URL表示在页面fea ...

  6. css中井号,点,星号的区别和应用实例。

    在css文件中,经常会看到#号.*号和".点",对于没有一点css阅读.开发经验的朋友来讲,这几个符号所代表的意思是什么.有什么作用,肯定是一点都不知道,那么今天我们就一起来认识一 ...

  7. URL 链接中 井号#、问号?、连接符 分别有什么作用?

    #,井号:表示网页中的一个位置,被称之为锚点,常用于某个网页间不同位置的跳转,简单的说就是在一个网页中,URL 不变的情况下,通过添加"#buy"的字符在 URL 最后可以跳转到当 ...

  8. erlang 中#(井号)号的作用

    表示进制 10> 2#101010. %% 2 进制的 101010 42 11> 8#0677. %% 8 进制的 0677 447 12> 16#AE. %% 16 进制的 AE ...

  9. mysql中井号的作用_URL 链接中 井号#、问号?、连接符 分别有什么作用?

    在一个 URL 中可以包含很多的内容,其中不仅仅是包含 26 个英文字母,10 个罗马数字,中文汉字,还可以拥有井号"#".问号"?".连接符"&am ...

  10. C语言阅读程序输出星号井号,第1章 C语言概述-python的长整型-WinFrom控件库|.net开源控件库|HZHControls官网...

    声明:文中观点仅代表个人,其中文字.图片未经本人许可,不得部分或全部转载,违者所造成影响后后果自负!联系本人方式:80368704@qq.comQQ:80368704 第1章 C语言概述 1.1和1. ...

最新文章

  1. JavaScript总结(一)
  2. 我的工作日志 2020年12月1日 星期一
  3. 使用table ENLFDIR 快速找出function module和function group的对应关系
  4. 发布composer包到 Packagist,并设置自动同步(从github到Packagist)
  5. snmp,mrtg安装和配置(2) mrtg安装
  6. redis安装配置 mysql_学习环境安装 mysql 与 redis
  7. 论文笔记_S2D.73_2019_BTS_从大到小:多尺度局部平面引导的单目深度估计
  8. 汇编语言(王爽)第七章与实验6
  9. python脚本编程100例_python 100例 (持续更新)
  10. xshell上传文件到linux很慢,XShell上传文件到Linux服务器上
  11. SpringBoot-SSMP超详细整合案例
  12. STM32 四相电机驱动板ULN2003 驱动
  13. C措辞教程第二章: 数据范例、运算符、表达式(4)
  14. JavaWeb技术内幕二:Java IO工作机制
  15. vue在图片标注矩形框
  16. rgb到yuv的转换
  17. 服务端mysql数据存储设计_服务端开发指南与最佳实战 | 数据存储技术 | MySQL(03) 如何设计索引...
  18. 一条命令轻松绘制CNS顶级配图-ggpubr
  19. 海量活动邀请函模板,在线就能一键出链接
  20. 关于JAVA的jdk安装和环境配置

热门文章

  1. 上机练习2 类与对象 pc cpu harddisk对象组合
  2. 斗地主系列之牌型大小比较
  3. Hadoop技术原理与应用
  4. XMind思维导图软件导出高清图片的方法
  5. 计算机d盘无法格式化,为什么不能格式化D盘?D盘无法格式化的解决方法
  6. kmz转换为dwg_徐州网站设计_seo优化常用技巧:什么软件可以将PDF文件转换为DWG文件...
  7. oracle 优化方法总结
  8. oracle 查询优化
  9. 什么是软件测试中的探索性测试(完整指南)(三)
  10. st计算机编程语言,SoMAChineST编程语言介绍.pdf