OGNL表达式和EL表达式的区别 - 极悦
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 OGNL表达式和EL表达式的区别

OGNL表达式和EL表达式的区别

更新时间:2021-08-11 12:50:34 来源:极悦 浏览730次

EL表达式:

简单的出现在JSP页面中,就是Page、Request、Session、Application四个作用域中的值。

如果在STRUTS环境中,可以从上面四个范围的值中取值。

特点1:${name},在值栈中的值的查找顺序是:先从对象栈中取出,取出到终止处,否则取出到MAP中。

特点2:对象栈中的顺序是,先在model中找到Name,找到终止,否则,在action中查找是否有NAME。全局变量

特点三:${#name},没有##。

特点四:如果放在对象栈中的是自定义对象,可以直接去对象的属性,没有这样的${Object.property}

OGNL表达式:

1.从后台读取传入的值

%{#name}:从值栈中表示Map的值

%{name}:从值栈中表示对象栈的值

%{request.name} : 表示来自请求域的值

2.构建数据

A、构建MAP<S:Iterator Var = "Map" Value = "#{'Key1': 'Value1', 'Key2': 'Value2'}" />

B、构建列表<s: iperator var = "list" value = "{'one', 'two', 'three'}>

基本用途:

               < s:iterator  value ="#request.deptList"  var ="dept" >
   < div  class ="splist"  style ="line-height:40px; border-bottom:1px solid #ccc;" >
                  < div  class ="tbm1" >< s:property  value ="#dept.depname" /></ div >
                < div  class ="tbm2" > ${dept.depcode} </ div >
                < div  class =" tbm3" >< s:property  value ="#dept.address" /></ div >
                <="#dept.phone" /></ div >
              </ div >
              </ s:iterator >

区别

区别区别:OGNL通常与Struts 2结合使用,如 Struts页面不能单独使用,EL可以使用${sessionscope.username}

页面价值差异:

OGnl解释

OGNL是Struts 2 默认表达语言。是Object Graphic Navigation Language的缩写,是一个开源项目。

1. # # 符号有三种用途。

(1)访问非根对象属性,如示例中的#session.msg表达式,由于Struts 2中栈被认为是根对象,所以在访问其他非根对象时需要加上#前缀。其实,#aText.getContext(); # Session.msg 表达式等价于actionContext.getContext()。获取会话()。GetAttribute(“味精”)。

(2)用于过滤和投影,如示例中的示例。{? # this.age> 20}。

(3) 用于构造MAP,如示例中的#{'foo1':'bar1','foo2':'bar2'}。

2. %symbol %符号的作用是计算属性为字符串类型时OGNL表达式的值。如下代码所示:构建MAP

3. $符号

$ 符号有两个主要用途。在国际资源文件中,引用OGNL表达式,如国际资源文件中的代码:REG.AGERANGE =国际化资源信息:年龄必须在${min}和${max}之间。在Struts 2框架的配置文件中引用OGNL表达式,如以下代码段:

< validators >   
    < field  name =”intb”>  
            <field-validator type =”int”>  
            <param name =”min”>10</param>  
            <param name =”max”>100</param>  
            <message > BAction-Test 检查:数字必须是 ${min} 到 ${max}!</ message >   
        </ field-validator >   
    </ field >  

以上就是极悦小编介绍的"OGNL表达式和EL表达式的区别",希望对大家有帮助,想了解更多可查看EL表达式。极悦在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>