MVEL快速入门—MVEL属性和文字讲解(二)

article/2025/11/5 5:58:46

相关文章

 🔥 MVEL快速入门—MVEL基础语法讲解(一)

以下为今日内容:

属性信息

  MVEL的属性信息保持了其他bean一般通常使用的形式,略有区别的是,MVEL为访问属性、静态信息、Map等提供了统一的访问形式

Bean属性

  正如我们熟悉的Java语言一样,MVEL支持我们常用的get写法,比如:

student.getManager().getName();

  为了简化操作,MVEL也支持我们这样来写:

student.manager.name

  官方提醒:在对象中的字段是公开的的情况下,MVEL 仍然倾向于通过它的获取方法访问属性。

判空取属性

  有的时候我们可能并不确定一个值是不是空的,这时我们可以使用判空操作:

student.?manager.name

  这句话相当于下面的语句:

if (student.manager != null) { return student.manager.name; } else { return null; }

List&Array获取

  在List或Array获取的时候,我们使用方括号并在其中放置需要获取的索引,比如:

students[5]

  这相当于我们的Java代码:

students.get(5);

Map访问

  Map访问的形式和php有些类似,采用方括号内写属性的形式获取,比如:

students["zhang"]

  这相当于我们的Java代码:

students.get("zhang");

  如果Map的key是String的时候,他可以接受一种特殊的写法:

students.zhang

字符串拆分数组

  MVEL支持将字符串拆分成类似于 String.charAt() 的形式,比如:

foo = "My String";
foo[0]; // returns 'M';

文本

  正如字面意思,文本是指在特定脚本的源文件中代表一个固定值。

普通文本

  文本接受单引号或双引号包裹,比如:

"This is a string literal"
'This is also string literal'

字符串转义

\\ - 两个反斜线表示一个反斜线
\n - 换行
\r - 返回
\u#### - Unicode字符 (Example: \uAE00)
\### - 8进制字符 (Example: \73)

数字

  整数支持表示为 10进制、8进制、16进制。

  10进制表示就是正常书写:

252 //10进制

  通过将数字的第一位置为0,将识别为8进制数字,我们可以使用0-7表示这个数字,比如:

0214 //8进制

  通过添加 0x 前缀,将可以表示16进制数字,比如:

0xAFA0  //16进制 

浮点型数字

  一个浮点数由一个整数和一个由点字符表示的派生部分组成,还有一个可选的表示精度类型的后缀。

  比如下面几种形式都是合法的:

10.503 // double类型
94.92d // double类型
14.5f // float类型

大数

  MVEL允许用户通过结尾标识 B 或 I 表示大的整数或大的小数。注意的点是,大写是必须的。比如:

265.2992013B // 大的小数型
859823I // 大的整数型

布尔

  布尔类型很好理解,表示为 true 或 false

  空的场景需要使用保留关键字  null  或  nil  表示

类型字面的处理与Java中的基本相同,其格式如下。''<PackageName>.<ClassName>''。

因此,一个类可以被限定为这样:

java.util.HashMap

  或者,如果该类已经被内联或外部配置导入,只需要写类名就可以,比如:

HashMap

  这里推荐一篇栈溢出的问答:Import this class in MVEL and assign values to its property and access its method - Stack Overflow 

嵌套类

  在MVEL2.0中,嵌套类不能通过标准的点状符号(如Java)来访问。相反,你必须用符号 $ 来限定这些类,比如:

org.proctor.Person$BodyPart 


http://chatgpt.dhexx.cn/article/XeaO1haT.shtml

相关文章

MVEL快速入门—MVEL基础语法讲解(一)

概述 MVEL是从英文翻译而来的&#xff0c;MVFLEX表达式语言是Java平台的动态/静态混合类型的运行时可嵌入表达式语言。该项目最初是作为应用程序框架的实用语言开始的&#xff0c;现在已完全独立开发。MVEL通常用于通过XML文件或注释等配置将基本逻辑公开给最终用户和程序员。它…

MVEL快速入门—MVEL流程控制和高级功能(三)

之前文章 MVEL快速入门—MVEL基础语法讲解&#xff08;一&#xff09; MVEL快速入门—MVEL属性和文字讲解&#xff08;二&#xff09; 流程控制 实际上MVEL的表达形式不仅仅局限于简单的表达式&#xff0c;他还支持流程控制。使我们能够执行高级的脚本。 if - then - else M…

int 类型和double类型数值转换

类型自动转换规则&#xff1a; 参与运算&#xff08;算数运算和赋值运算&#xff09;操作数和结果类型必须一致&#xff0c; 不一致时启动隐式转换&#xff1a; 两种类型兼容&#xff1a;int 和double兼容&#xff08;都是数字类型&#xff09; 目标类型大于原类型 Int 类型取值…

double转int精度丢失问题

先来看一下精度丢失的现象&#xff1a; #include <iostream> #include <cmath> using namespace std;int main() {double a 74.46;int b a * 100;cout << "a: " << a << " b: " << b <<endl;return 0; }结果…

double转换成int java,Java将double转换为int

本文概述 我们可以使用类型转换在Java中将double转换为int。要将double数据类型转换为int, 我们需要执行类型转换。 Java中的类型转换通过类型转换运算符(数据类型)执行。 在这里, 我们将学习如何将double基本类型转换为int以及将Double对象转换为int。 Java double to int示例…

int 转 double 的一个坑

int 转 double 的一个坑 首先&#xff0c;看这样这个语句 int max (int) Math.pow(2, 31);输出的应该是 2 32 2^{32} 232 的值&#xff0c;我们看运行结果 我们再看看科学计算器算出来的 这个时候问题就出来了&#xff0c;我们对比发现&#xff0c;结果相差1。 这里就是一个…

int转double会存在丢失?

问题是这样的&#xff0c;当我用一个int类型的值去整除100的时候&#xff0c;结果用double类型接收&#xff0c;直接变成0.0了&#x1f623; int a97;double ba/100;System.out.println("result:"b);输出结果如下&#xff1a; 正确写法&#xff1a; //1 double ba/…

C#基础③——类型转换(int转double、double转int、Convert)

类型转换是什么&#xff1f; 不同数据类型间的转换&#xff0c;如&#xff1a;将int类型转换为string类型 为什么需要类型转换&#xff1f; 从控制台接收到的用户输入的内容都是string类型&#xff0c;如果要进行计算&#xff0c;就需要将接收到的内容转换成数值类型 什么是…

在HTML中画一条横线

怎么画一条横线&#xff1f;我想到的有三种方法&#xff0c;但是各自样式不一&#xff0c;所以大家按需求来哦。 1.<hr />标签&#xff0c;对的&#xff0c;这个标签就代表一条横线&#xff0c;样式大概是这样的&#xff0c;如图&#xff08;a与b之间哦&#xff09;&…

如何去掉HTML中文字下面显示的横线

之前的状态&#xff1a; 之后的状态&#xff1a; 其实只需要在相对应的css样式中添加&#xff1a; text-decoration: none;

横线-文字-横线的html-css布局

很多时候网页上需要下面的布局&#xff1b; 这个很容易搞定&#xff1b;代码如下&#xff1a; <table align"center" border0 width1100 height80 style"margin:0 auto;"><tr><td> <hr style"border:2px double ##1e90ff"…

css样式,中间文字,两边横线

在项目中遇到过中间文字&#xff0c;两边横线的布局&#xff0c;如下图&#xff1a; 两边横线我们可以使用标签的上边框或者下边框&#xff0c;然后对中间的文字使用 vertical-align 属性来控制。 html <div class"order"><span class"line">…

css实现文字左右添加横线

css实现文字左右添加横线 方法一、div标签实现 HTML&#xff1a; <div class"thirdLine"><span class"line"></span><div class"txt"><span>第三方登陆</span></div><span class"line"…

html+css实现横向时间线

实现效果 布局思路 知识点 中间横线&#xff1a;position垂直居中 圆&#xff1a;定位居中&#xff0c;添加背景色&#xff0c;boder 上下错位文字&#xff1a;奇偶选择器控制定位位置 左右另外添加一个盒子 箭头&#xff1a;css绘制三角形然后居中 width: 0; height:0; …

html中竖线怎么写,HTML如何写出竖线

HTML写出竖线的方法&#xff1a;首先创建一个HTML示例文件&#xff1b;然后在body中创建p标签内容&#xff1b;最后通过“border-left:3px solid #369;”属性实现竖线效果即可。 本文操作环境&#xff1a;windows7系统、HTML5&&CSS3版&#xff0c;DELL G3电脑 html&…

Web Css 绘制横线

2019独角兽企业重金招聘Python工程师标准>>> Web Css 横线 横线绘制的方法 在html中绘制横线的方法为加标签&#xff0c;当然这个也是最方便的 <hr /> 但是可能由于绘制的效果不太令人满意吧&#xff0c;然后利用css的边框属性也可以绘制&#xff0c;这是绘制…

怎么在html中加横条,如何在HTML中插入一行?html横线标签hr全新讲解

对于刚刚入门的新手不知道如何在HTML中插入一行&#xff1f;那么接下来我们认识一下html横线标签hr。 一&#xff1a;html横线标签hr属性 标签主要是在html中创建水平线&#xff0c;hr是单标签&#xff0c;是没有结束标签的&#xff0c;而且所有的浏览器都是支持 标签&#xff…

HTML-新手入门

HTML系统结构 &#xff08;1&#xff09; B/S架构&#xff1a;Browser / Server &#xff08;浏览器/服务器的交互形式&#xff09; Browser支持哪些语言&#xff1a;HTML、CSS、 JavaScript B/S架构的优缺点&#xff1a; 优点&#xff1a;升级方便&#xff0c;只升级服务…

nginx多域名及https配置(Tomcat服务器)

主域名配置 二级域名配置 详细配置 #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include mime.typ…

IIS配置HTTPS

1&#xff0c;新建网站&#xff0c;选中类型为 https&#xff0c;然后更改SSL证书为你配置的SSL证书&#xff0c; 对于SSL证书的配置是这样的 点开第二步&#xff0c;然后点击 创建自签名证书 确定以后点开网站看到有个SSL&#xff0c; 双击进去&#xff0c;再选中 要求SS…