1 什么EL函数库
EL函数库是由第三方对EL的扩展,我们现在学习的EL函数库是由JSTL添加的!
EL函数库就是定义一些有返回值的静态方法。然后通过EL语言来调用它们!当然,不只是JSTL可以定义EL函数库,我们也可以自定义EL函数库。
EL函数库中包含了很多对字符串的操作方法,以及对集合对象的操作。例如:${fn:length(“abc”)}会输出3,即字符串的长度。
2 导入函数库
因为是第三方的东西,所以需要导入。导入需要使用taglib指令!
<%@ taglib prefix="fn"uri="http://java.sun.com/jsp/jstl/functions" %>
3 EL函数库介绍
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):获取大串中,小串所在位置后面的字符串
substringBefore(String input, String substring):获取大串中,小串所在位置前面的字符串
String escapeXml(String input):把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):联合字符串数组!
例子:
<%@taglib prefix="fn"uri="http://java.sun.com/jsp/jstl/functions"%>
…
String[] strs = {"a", "b","c"};
List list = new ArrayList();
list.add("a");
pageContext.setAttribute("arr", strs);
pageContext.setAttribute("list", list);
%>
${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/><!-- ab c -->