转自:http://ibeetl.com/guide/
2.19. 函数调用
Beetl内置函数请参考附录,以下列出了常用的函数
- date 返回一个java.util.Date类型的变量,如 date() 返回一个当前时间(对应java的java.util.Date); ${date( "2011-1-1" , "yyyy-MM-dd" )} 返回指定日期,date(ms),指定一个毫秒数。相当于调用java.util.Date(ms)
- print 打印一个对象 print(user.name);
- println 打印一个对象以及回车换行符号,回车换号符号使用的是模板本身的,而不是本地系统的.如果仅仅打印一个换行符,则直接调用println() 即可
- nvl 函数nvl,如果对象为null,则返回第二个参数,否则,返回自己 nvl(user,"不存在")
- isEmpty 判断变量或者表达式是否为空,变量不存在,变量为null,变量是空字符串,变量是空集合,变量是空数组,此函数都将返回true
- isNotEmpty 同上,判断对象是否不为空
- has 变量名为参数,判断是否存在此"全局变量",如 has(userList),类似于1.x版本的exist("userList"),但不需要输入引号了.注意,has和isEmpety 判断的是从java传到模板的全局变量,而不是临时变量
- hasAttrbiute 测试目标对象是否有此属性,hasAttribute(user,"name")
- assert 如果表达式为false,则抛出异常
- trim 截取数字或者日期,返回字符,如trim(12.456,2)返回"12.45",trim(date,'yyyy')返回"2017"
- trunc 截取数字,保留指定的小数位,如trunc(12.456,2) 输出是12.45.不推荐使用,因为处理float有问题,兼容原因保留了
- decode 一个简化的if else 结构,如 decode(a,1,"a=1",2,"a=2","不知道了"),如果a是1,这decode输出"a=1",如果a是2,则输出"a==2", 如果是其他值,则输出"不知道了"
- debug 在控制台输出debug指定的对象以及所在模板文件以及模板中的行数,如debug(1),则输出1 [在3行@/org/beetl/core/lab/hello.txt],也可以输出多个,如debug("hi",a),则输出hi,a=123,[在3行@/org/beetl/core/lab/hello.txt]
- parseInt 将数字或者字符解析为整形 如 parseInt("123");
- parseLong 将数字或者字符解析为长整形,parseInt(123.12);
- parseDouble 将数字或者字符解析为浮点类型 如parseDouble("1.23")
- range 接收三个参数,初始值,结束值,还有步增(可以不需要,则默认为1),返回一个Iterator,常用于循环中,如for(var i in range(1,5)) {print(i)},将依次打印1234.
- flush 强制io输出。
- json,将对象转成json字符串,如 var data = json(userList) 可以跟一个序列化规则 如,var data = json(userList,"[*].id:i"),具体参考 https://git.oschina.net/xiandafu/beetl-json
- pageCtx ,仅仅在web开发中,设置一个变量,然后可以在页面渲染过程中,调用此api获取,如pageCtx("title","用户添加页面"),在其后任何地方,可以pageCtx("title") 获取该变量
- type.new 创建一个对象实例,如 var user = type.new("com.xx.User"); 如果配置了IMPORT_PACKAGE,则可以省略包名,type.new("User")
- type.name 返回一个实例的名字,var userClassName = type.name(user),返回"User"
- global 返回一个全局变量值,参数是一个字符串,如 var user = global("user_"+i);
- cookie 返回指定的cookie对象 ,如var userCook = cookie("user"),allCookies = cookie();
2.3. 模板基础配置
##### 扩展 ##############
## 内置的方法
FN.date = org.beetl.ext.fn.DateFunction
......
##内置的功能包
FNP.strutil = org.beetl.ext.fn.StringUtil
......
##内置的默认格式化函数
FTC.java.util.Date = org.beetl.ext.format.DateFormat
、、、、、、、、、、、、、、、、、、、、、、
5.1.2. 字符串相关方法
strutil方法对参数均不做空指针检测,你可自定义方法来覆盖这些内置的方法
- strutil.startWith ${ strutil.startWith("hello","he")} 输出是true
- strutil.endWith ${ strutil.endWith("hello","o")} 输出是true
- strutil.length ${ strutil. length ("hello")},输出是5
- strutil.subString ${ strutil.subString ("hello",1)},输出是"ello"
- strutil.subStringTo ${ strutil.subStringTo ("hello",1,2)},输出是"e"
- strutil.split ${ strutil.split ("hello,joeli",",")},参数第一个是字符串,第二个是正则表达式。输出是数组:返回第一个是"hello",第二个是"joelli"
- strutil.contain ${ strutil.contain ("hello,"el")},输出是true
- strutil.toUpperCase ${ strutil.toUpperCase ("hello")},输出是HELLO
- strutil.toLowerCase ${ strutil.toLowerCase ("hello")},输出是hello
- strutil.replace ${ strutil.replace ("hello","lo","loooo")},输出是helloooo
- strutil.format ${ strutil.format ("hello,{0}, my age is {1}","joeli",15)},输出是hello,joeli, my age is 15. 具体请参考http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html
- strutil.trim 去掉字符串的尾部空格
- strutil.formatDate var a = strutil.formatDate(user.bir,'yyyy-MM-dd')};
- strutil.index var index = strutil.index("abc","a");返回 索引0
- strutil.lastIndex var index = strutil.lastIndex("aba","a");返回索引2
5.1.3. 数组相关方法
- array.range 返回数组或者Collection一部分,接受三个参数,第一个是数组或者Collection子类,第二,三个参数分别是起始位置
- array.remove 删除某个数组或者Collection的一个元素,并返回该数组或者Collection.第一个是数组或者Collection子类,第二个参数是元素
- array.add 向数组或者Collection添加一个元素,并返回该数组或者Collection。第一个是数组或者Collection子类,第二个参数是元素
- array.contain 判断数组或者元素是否包含元素,如果包含,返回true。否则false。第一个是数组或者Collection子类,第二个参数是元素
- array.toArray 转化成数组,如array.toArray(1,2,"a");
- array.collection2Array 将java集合转化为数组 array.collection2Array([1,2,''])
5.1.4. 正则表达式相关方法
- reg.match(str,regex) str为需要处理的字符串,regex是表达式
- reg.replace(str,regex,replace),str为需要处理的字符串,regex是表达式,替换的字符串替换字符串
- reg.find(str,regex) 返回找到的符合表达式的第一个字符串,否则返回空字符串
- reg.findList(str,regex) 找到所有符合表达式的字符串,否则返回空列表
- reg.split(str,regex),对字符串进行切分,返回列表
- reg.split(str,regex,limit) 同上,limit是最多返回个数
相关推荐
在Java编程语言中,`StrUtil`类通常指的是一个实用工具类,用于处理和操作字符串。这个类可能包含了各种方便的方法,比如字符串的拼接、分割、格式化、检查是否为空等。`StrUtil`不是Java标准库的一部分,但它是许多...
【Obj2StrUtil工具类详解】 `Obj2StrUtil` 是一个Java工具类,主要用于将Java对象转换成JSON格式的字符串。在Java中,对象到JSON的转换是常见的操作,尤其是在处理Web服务或者数据序列化时。这个工具类提供了一个...
Java工具类项目是一种常见的软件开发资源,它包含了一系列预定义的、封装好的功能模块,方便开发者在日常工作中快速调用,提高开发效率。Hutool是这个压缩包中提到的一个知名Java工具库,它集成了大量的实用工具类,...
【Obj2StrUtil工具类解析】 `Obj2StrUtil` 是一个Java工具类,它的主要功能是将Java对象转换成JSON格式的字符串。这个类主要处理了四种类型的对象:Map、List、数组以及普通的Java Bean对象。以下是这个类的具体...
2. **字符串操作**:StrUtil是Hutool中的字符串工具类,包含了大量的静态方法,如字符串格式化、拼接、替换、截取等,使得字符串处理变得更加高效。 3. **文件操作**:FileUtil提供了丰富的文件操作功能,如读写...
简单的辅助函数可以互换使用字符串和正则表达式(通常)。 要求 Python 3.4以上 模块内容 strutil.is_string(obj) 检查obj是否为字符串 strutil.is_regex(obj) 检查obj是否为正则表达式 strutil.replace(text, ...
Hutool是一个强大的Java工具包,它为Java开发者提供了一系列常用的基础工具类,极大地简化了开发过程中的常见任务。这个压缩包"基于Java的源码-Hutool (Java基础工具类).zip"包含了Hutool的源代码,使得开发者可以...
StrUtil.java
这个压缩包“Hutool (Java基础工具类).zip”包含了关于Hutool库的相关资料,如使用说明和可能的示例代码。 首先,Hutool的命名来源于“实用”和“工具”的英文单词"Util",它由多个模块组成,涵盖了日期时间处理、...
IO工具类(IoUtil)、文件工具类(FileUtil)、文件类型判断(FileTypeUtil)、文件读取(FileReader)、文件写入(FileWriter)和文件监听(WatchMonitor)则为文件操作提供了便捷的方法。 字符串工具(StrUtil)...
在源代码中,我们可能会看到如`StringUtil`这样的类,这是常见的工具类名称,用于封装各种字符串操作。例如,`StringUtil.isEmpty()`可能用于检查字符串是否为空或null,`StringUtil.trim()`则可能是用来去除字符串...
Strutil strutil提供了用于计算字符串相似度的字符串度量标准以及其他字符串实用程序功能。 完整文档可在以下找到: : 。安装 go get github.com/adrg/strutil字符串指标杰罗·温克勒史密斯·沃特曼·高图索伦森-...
2. **字符串操作**:`StrUtil`是Hutool中的字符串工具类,包含了大量的字符串处理方法,如空判断、格式化、替换、分割、截取等。 3. **文件操作**:`FileUtil`提供了文件和目录的操作,包括读写、复制、删除、...
"基于Java的源码-常用工具包 Jodd.zip" 提供的是一套名为Jodd的工具包,它包含了多种用于简化Java开发的实用工具类。Jodd是一个开源项目,旨在提高开发效率并提供各种功能,比如HTTP客户端、属性解析、日志记录、...
《Hutool工具类官方文档全面解析》 Hutool是一个强大的Java工具包,它旨在简化常见的开发任务,提供了一套简洁、易用的API,让开发者能够更高效地进行编程工作。其官方文档“Hutool+Wiki.pdf”包含了详尽的使用指南...
1. **日期和时间操作**:Hutool提供了DateTime、DateUtil、TimeUtil等工具类,可以方便地进行日期和时间的格式化、解析、比较和计算,支持多种日期时间格式,如yyyy-MM-dd HH:mm:ss等。 2. **字符串处理**:StrUtil...
StrUtil是Hutool中处理字符串的工具类,它提供了检查字符串是否为空、填充字符串、格式化字符串以及正则表达式匹配等功能: ```java boolean isEmpty = StrUtil.isEmpty(str); // 判断字符串是否为空 boolean ...
`StrUtil.GetText`函数很可能就是这样一个工具,用于从当前选定的语言AssetBundle中提取指定的文本。这个函数可能包含以下功能:查找正确的语言包、解析AssetBundle中的文本资源、并返回本地化的字符串。 `StrUtil....
- `StrUtil`工具类提供了大量的字符串操作方法,如格式化、拼接、截取、替换、正则匹配等,大大减少了手动处理字符串的代码量。 5. **编码与解码**: - `CharsetUtil`工具类处理字符编码问题,如转换编码格式,...
用于检查当前运行时环境信息fmtutil格式的数据util函数fsutil文件系统util函数jsonutil JSON util函数maputil map util函数mathutil数学util函数netutil网络实用程序功能strutil字符串util函数testutil测试帮助工具...