当前位置: 首页 > news >正文

开锁公司网站建设hexo wordpress

开锁公司网站建设,hexo wordpress,中国服务外包研究中心,wordpress首页广告目录 概念 基本原理 基本语法 1、访问Root区域对象基本语法 2、访问Context区域对象基本语法 符号含义 概念 Object-Graph Navigation Language 对象-图形导航语言, 主要用于访问对象的数据和方法。 基本原理 主要由3部分构成:1.OGNL引擎 …

 目录

概念

基本原理

基本语法

1、访问Root区域对象基本语法

 2、访问Context区域对象基本语法

符号含义


概念

Object-Graph Navigation Language 对象-图形导航语言, 主要用于访问对象的数据和方法。

基本原理

主要由3部分构成:
1.OGNL引擎
         负责解析ONGL表达式,定位数据。解析表达式的过程包括词法分析、语法分析和执行。词法分析将表达式分解为标记,语法分析将标记转换为语法树,执行遍历语法树,执行表达式。

2.Root根存储区(Object类型)
         Root根存储区是一个特殊的对象,它是OGNL表达式的起点。OGNL表达式可以从Root根存储区开始,然后沿着对象图向下导航,访问对象的属性、方法和数组元素。在Java Web应用程序中,Root根存储区通常是一个JavaBean对象。在Spring框架中,ModelAndView对象通常作为Root根存储区,它包含了需要在JSP页面中显示的数据。

3.Context变量存储区(Map类型)
        是 一个Map对象,用于存储OGNL表达式中使用的变量。可以使用#符号引用Context变量存储区中的变量。

基本语法

1、访问Root区域对象基本语法

    --访问简单数据:"属性"
     例如"name"
     
    --访问数组或List集合:"属性[0]"
     例如"arr[1]"
    
    --访问Map集合:"属性['key']"或"属性.key"
     例如"map.two"或"map['two']"
    
    --访问方法:"属性值.方法()",
     例如"list.size()"
    
    --访问构造方法:"new 包名.构造方法"
     例如"new java.util.Date()"
    
    --访问静态成员:"@包名.类名@成员"
     例如"@java.lang.Math@PI"
    
    --创建List对象:"{元素1,元素2}"
    
    --创建Map对象:
    "#{key1:value1,key2:value2}"

 2、访问Context区域对象基本语法

使用Context变量存储区中的变量   
#context.user.name = "John"
#context.user.age = 30
例如:
Welcome, ${#context.user.name}! You are ${#context.user.age} years old.

符号含义

`#`:引用上下文对象,通常是Action或ValueStack对象。
`%`:引用ActionContext对象,它包含Action执行的上下文信息。
`$`:引用请求参数,例如 `$paramName` 引用名为 `paramName` 的请求参数。  
`@`:引用类静态方法或属性,例如 `@java.lang.Math@PI` 引用Math类的PI属性。

除了这些符号外,OGNL还支持许多其他运算符和表达式,例如算术运算符、逻辑运算符、比较运算符、正则表达式等。

例如:
#符号
引用上下文变量,关于OGNL 的上下文对象类型【获取属性值】:
(1)javaBean对象,例如上面的User,则 OGNL 表达式格式必须为 #{属性名}

(2)map 对象,OGNL 表达式格式为 #{key}

(3)简单类型对象(基本类型、String类型),OGNL 表达式格式为 #{随便造}

(4)操作集合对象

构造map对象,例如:

#{'foo1':'bar1', 'foo2':'bar2'}

构造list对象,例如:

{'男','女'}

%符号
%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。例如:

<s:set name="foobar" value="#{'foo1':'bar1', 'foo2':'bar2'}" />
<p>不使用%:<s:url value="#foobar['foo1']" /></p>
<p>使用%:<s:url value="%{#foobar['foo1']}" /></p>

结果:
不使用%:#foobar['foo1']
使用%:bar1

@符号

 类静态的方法|值调用,格式为"@[类全名(包括包路径)]@[方法名|值名]",例如:

@java.lang.String@format('foo%s','bar')--调用类静态方法
@java.lang.String@CASE_INSENSITIVE_ORDER--访问类的静态值

更多,可以参考官网文档:
OGNL - Apache Commons OGNL - Language Guide

http://www.yayakq.cn/news/976781/

相关文章:

  • 深圳宝安区网站建设网站建设论文源代码
  • 搭网站要多少钱男鞋 东莞网站建设
  • 推广公司文案南通优化网站收费标准
  • 企业网站搜索引擎优化方案建设工程监理
  • 百度推广合作百度关键词seo排名优化
  • 网站制作唐山公司深圳58同城招聘网最新招聘信息
  • 东莞网站建设做公司小制作图片
  • 网上服装商城网站建设方案上海网站建设品牌
  • 中国建设招标网住建部网站广告制作开票大类是什么
  • 网站更换空间需要怎么做企业网站seo方案
  • 网站页脚代码删除中文wordpress
  • 设计公司网站建设需要多少钱网络营销的方式有十种
  • 网站开发建设方案电商详情页素材
  • 做网站的注意点如何做视频网站 需要注意的地方
  • 丰都网站手机移动网站开发
  • 青浦区网站建设公司自己做服装搭配的网站
  • 上街区做网站WordPress关闭登录
  • 北京网站设计权威乐云践新湘潭网站建设 都来磐石网络
  • 视频运营管理平台乐云seo模板网站建设
  • 微信定制网站建设企业网站建设与管理作业
  • 免费的进销存软件哪个简单好用优化服务质量
  • 免费手机网站平台注册湛江做网站公司
  • 柯桥网站建设百度关键词排名查询工具
  • 做网站如何防止被骗适合两个人运动前看的电影
  • 专业建站报价wordpress爆破思路
  • 河北中保建设集团网站建设工程施工合同范本免费下载
  • 淘宝如何提升关键词排名网站最好的优化是什么
  • 湖南电子科技网站建设集宁做网站的公司
  • 福州企业网站维护网站建设需求分析模板
  • 网站需要什么费用wordpress 页面 html代码