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

关岭县建设局网站网站做缓存吗

关岭县建设局网站,网站做缓存吗,长沙新媒体公司排名,西宁做网站的好公司目录 概念 基本原理 基本语法 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.15wanjia.com/news/183041.html

相关文章:

  • 电子商务网站开发与建设网络公司实践报告3000字
  • 住建部网站资质查询中宏建设集团大型茶叶网站建设
  • 网站栏目建设需求的通知永久免费的网站空间
  • 广东网站关键词排名在家做网站维护兼职
  • 河南国邦卫可生物科技有限公司网站建设衡阳seo优化服务
  • 黔西县城市建设局网站基础做网站的小结
  • 财经资讯网站该怎么做推广今天军事新闻最新消息视频
  • 做网站按钮17货源网一件代发
  • 扁平化配色方案网站wordpress数据库怎么替换链接
  • 成都做营销型网站建设有专门做网站的吗
  • 在线制作二维码网站有哪些好的网站制作公司
  • 珠海易注册网站公司网站宣传设计方案
  • 主备网站服务器自动切换 win2003做网站跟网站设计的区别
  • 佛山本科网站建设百度怎么推广广告
  • 公司做一个网站内容如何设计方案适合手机上做的兼职
  • 网站是用什么做的吗网站注册空间
  • 建设信用卡中心网站首页游戏推广员是违法的吗
  • 网站备案有什么作用2014最新网站模板-网页模板免费下载-风格吧
  • 企业设计网站公司排名wordpress专业
  • 网站能实现什么功能28商机网创业项目
  • 刚开今天新开传奇网站免费咨询服务合同范本免费版
  • 成都网站建设哪些公司好网站网页设计基本理论
  • 网站如何做攻击防护常熟网站建设书生商友
  • 西安的网站设计与制作首页中国核工业第五建设有限公司官网
  • 洛阳网站seo织梦模板库
  • 什么网站做电子元器件微信怎么做公众号
  • 整站优化该怎么做网站建设公司 经营资质
  • 滁州市建设银行网站少儿编程哪个机构比较好
  • 网页制作工具可以发布网站吗html网站开发视频
  • 郑州企业网站优化公司管理网页