EL函数库
Posted qianyue111
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EL函数库相关的知识,希望对你有一定的参考价值。
****概述****:
EL函数库是由第三方对EL的扩展,下面学习的EL函数库是由JSTL添加的,JSTL下一篇再讲
EL函数库就是定义一些有返回值的静态方法。然后通过EL语言来调用它们!当然,不只是JSTL可以定义EL函数库,我们也可以自定义EL函数库。
EL函数库中包含了很多对字符串的操作方法,以及对集合对象的操作。例如:${fn:length(“abc”)}会输出3,即字符串的长度
****导入函数库****:
因为是第三方的东西,所以需要导入,导入需要使用taglib指令!
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
****函数库常用方法****:
? String toUpperCase(String input): ? String toLowerCase(String input): ? int indexOf(String input, String substring): ? boolean contains(String input, String substring): ? boolean containsIgnoreCase(String input, String substring): ? boolean startsWith(String input, String substring): ? boolean endsWith(String input, String substring): ? String substring(String input, int beginIndex, int endIndex): ? String substringAfter(String input, String substring):hello-world, “-“ ? substringBefore(String input, String substring):hello-world, “-“ ? String escapeXml(String input):把字符串的“>”、“<”。。。转义了! ? String trim(String input): ? String replace(String input, String substringBefore, String substringAfter): ? String[] split(String input, String delimiters): ? int length(Object obj):可以获取字符串、数组、各种集合的长度! ? String join(String array[], String separator):
执行为,语句后面注释为执行结果
${fn:length(arr) }<br/><!--3--> ${fn:length(list) }<br/><!--1--> ${fn:toLowerCase("Hello") }<br/> <!-- hello --> ${fn:toUpperCase("Hello") }<br/> <!-- HELLO --> ${fn:contains("abc", "a")}<br/><!-- true --> ${fn:containsIgnoreCase("abc", "Ab")}<br/><!-- true --> ${fn:contains(arr, "a")}<br/><!-- true --> ${fn:containsIgnoreCase(list, "A")}<br/><!-- true --> ${fn:endsWith("Hello.java", ".java")}<br/><!-- true --> ${fn:startsWith("Hello.java", "Hell")}<br/><!-- true --> ${fn:indexOf("Hello-World", "-")}<br/><!-- 5 --> ${fn:join(arr, ";")}<br/><!-- a;b;c --> ${fn:replace("Hello-World", "-", "+")}<br/><!-- Hello+World --> ${fn:join(fn:split("a;b;c;", ";"), "-")}<br/><!-- a-b-c --> ${fn:substring("0123456789", 6, 9)}<br/><!-- 678 --> ${fn:substring("0123456789", 5, -1)}<br/><!-- 56789 --> ${fn:substringAfter("Hello-World", "-")}<br/><!-- World --> ${fn:substringBefore("Hello-World", "-")}<br/><!-- Hello --> ${fn:trim(" a b c ")}<br/><!-- a b c --> ${fn:escapeXml("<html></html>")}<br/> <!-- <html></html> -->
****自定义函数库****:
4 自定义EL函数库
1),写一个类,写一个有返回值的静态方法;
2), 编写.tld文件,可以参考JSTL中的fn.tld文件来写,把.tld文件放到/WEB-INF目录下;
3),在页面中添加taglib指令,导入自定义标签库
以上是关于EL函数库的主要内容,如果未能解决你的问题,请参考以下文章