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

net域名网站做asp网站的步骤

net域名网站,做asp网站的步骤,1v1网站建设,成都网站设计成功柚v米科技介绍 OGNL生来就是为了简化Java属性的取值,比如想根据名称name引用当前上下文环境中的对象,则直接键入即可,如果想要引用当前上下文环境中对象text的属性title,则键入text.title即可。如果想引用对象的非值属性,OGNL也…

介绍

OGNL生来就是为了简化Java属性的取值,比如想根据名称name引用当前上下文环境中的对象,则直接键入即可,如果想要引用当前上下文环境中对象text的属性title,则键入text.title即可。如果想引用对象的非值属性,OGNL也是支持的:

属性类型

举例

属性名称

比如上文中的name

属性方法

hashcode()返回当前对象的哈希值

数组索引

arrays\[0\]返回返回arrays数组的第一个元素

OGNL表达式用于用于访问对象的字段、方法。所以我们在使用OGNL表达式的时候需要一个对象,这在OGNL表达式中被称为root对象,以此来声明由哪个对象来执行这个表达式,返回结果。所有的OGNL表达式都在一个特定的数据环境中运行。OGNL的上下文环境是一个Map结构,称之为OgnlContext。Root对象也会被添加到上下文环境当中。

依赖引入

<dependency><groupId>ognl</groupId><artifactId>ognl</artifactId><version>3.4.1</version>
</dependency>

OGNL三要素

  • 表达式(Expression)

表达式是整个 OGNL 的核心内容,所有的 OGNL 操作都是针对表达式解析后进行的。通过表达式来告诉 OGNL 操作到底要干些什么。因此,表达式其实是一个带有语法含义的字符串,整个字符串将规定操作的类型和内容。OGNL 表达式支持大量的表达式,如 “链式访问对象”、表达式计算、甚至还支持 Lambda 表达式。

  • Root 对象

OGNL 的 Root 对象可以理解为 OGNL 的操作对象。当我们指定了一个表达式的时候,我们需要指定这个表达式针对的是哪个具体的对象。而这个具体的对象就是 Root 对象,这就意味着,如果有一个 OGNL 表达式,那么我们需要针对 Root 对象来进行 OGNL 表达式的计算并且返回结果。

  • 上下文环境

有个 Root 对象和表达式,我们就可以使用 OGNL 进行简单的操作了,如对 Root 对象的赋值与取值操作。但是,实际上在 OGNL 的内部,所有的操作都会在一个特定的数据环境中运行。这个数据环境就是上下文环境(Context)。OGNL 的上下文环境是一个 Map 结构,称之为 OgnlContext。Root 对象也会被添加到上下文环境当中去。

说白了上下文就是一个 MAP 结构,它实现了 java.utils.Map 的接口。

使用 Ognl

假设有一个User类,包含用户的姓名和年龄,以及一个Address类用于表示用户的地址。通过OGNL表达式,我们可以访问和修改这些属性。

public class User {private String name;private int age;private Address address;public User(String name, int age, Address address) {this.name = name;this.age = age;this.address = address;}
}

在这里,我们假设使用OGNL库来解析和执行表达式。可以用Ognl.parseExpression解析表达式,用Ognl.getValue获取值或用Ognl.setValue设置值。

import ognl.Ognl;
import ognl.OgnlContext;
import ognl.OgnlException;public class OgnlExample {public static void main(String[] args) throws OgnlException {// 创建用户对象Address address = new Address("New York", "5th Avenue");User user = new User("Alice", 25, address);// 创建OGNL上下文OgnlContext context = new OgnlContext();context.put("user", user); // 将对象放入上下文context.setRoot(user); // 设置根对象// 获取用户的名称Object nameExpr = Ognl.parseExpression("name");String name = (String) Ognl.getValue(nameExpr, context, user);System.out.println("User's name: " + name); // 输出 "User's name: Alice"// 获取用户的城市Object cityExpr = Ognl.parseExpression("address.city");String city = (String) Ognl.getValue(cityExpr, context, user);System.out.println("User's city: " + city); // 输出 "User's city: New York"// 修改用户的年龄Object ageExpr = Ognl.parseExpression("age");Ognl.setValue(ageExpr, context, user, 30);System.out.println("User's new age: " + user.getAge()); // 输出 "User's new age: 30"// 条件判断Object isAdultExpr = Ognl.parseExpression("age > 18 ? 'Adult' : 'Minor'");String isAdult = (String) Ognl.getValue(isAdultExpr, context, user);System.out.println("User is an: " + isAdult); // 输出 "User is an: Adult"}
}

http://www.15wanjia.com/news/180465.html

相关文章:

  • 安徽网站全屏网站模板制作
  • 网站建设佰首选金手指二五行业门户网站cms
  • 兰州市做网站的公司服务周到的网站建设
  • 怎么做网站接家纺订单公司网络规划设计方案
  • 招标代理网站建设wordpress 自动采集
  • 做网站商城需要申请商标吗onepress wordpress
  • 做电影网站违法做二手房比较好的网站
  • 网站跳出率的衡量标准北京众合天下管理咨询有限公司
  • 优化网站找哪家广州seo服务公司
  • 网站pv uv是什么意思网站设计平台
  • 网站建设需要哪些材料黄页推广2021
  • 大型医院设计网站建设wordpress更改固定连接后404
  • 网站建设小细节图片可以注册公司的地址
  • iis怎么创建网站成都百度推广优化创意
  • 如何做cpa单页网站wordpress自动添加视频播放
  • 哈尔滨网站关键词优化wordpress主题后空白
  • 做视频的网站多少钱有道搜索引擎入口
  • 网站不备案可以上线吗国家工商局企业查询系统官网
  • 中国建筑集团有限公司官网赵钊佛山百度seo代理
  • 快乐十分网站开发性价比高的seo网站优化
  • phpcms如何发布网站搜索引擎优化seo应用
  • 合肥建站公司排名前十名骆驼有没有做网站的公司
  • 网站托管费免费的舆情网站入口有哪些
  • 台州临海市建设局网站html表格菜鸟教程
  • 网站建设教学廊坊专业做招聘的网站
  • 招聘网站建设人员社交网站用户体验
  • 建免费网站学校网站建设开发方案书
  • 深圳网站设计首选刻手机网站开发协议
  • 做网站设计的论文中摘要怎么写广告设计与制作模板图片
  • 江西省建设监督网站电子网高效的设计公司