本系列博客汇总在这里:EL 表达式和 JSTL 标签汇总

目录


EL 函数库
  1. 什么 EL 函数库
    (1)EL 函数库是由第三方对 EL 的扩展,我们现在学习的 EL 函数库是由 JSTL 添加的。下面我们会学习 JSTL 标签库。
    (2)EL 函数库就是定义一些有返回值的静态方法。然后通过 EL 语言来调用它们!当然,不只是 JSTL 可以定义 EL 函数库,我们也可以自定义 EL 函数库。
    (3)EL 函数库中包含了很多对字符串的操作方法,以及对集合对象的操作。例如:${fn:length(“abc”)} 会输出 3,即字符串的长度。

  2. 导入函数库
    因为是第三方的东西,所以需要导入。导入需要使用 taglib 指令!

    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
    
  3. EL函数库介绍
    (1)String toUpperCase(String input)
    (2)String toLowerCase(String input)
    (3)int indexOf(String input, String substring)
    (4)boolean contains(String input, String substring)
    (5)boolean containsIgnoreCase(String input, String substring)
    (6)boolean startsWith(String input, String substring)
    (7)boolean endsWith(String input, String substring)
    (8)String substring(String input, int beginIndex, int endIndex)
    (9)String substringAfter(String input, String substring)
    (10)substringBefore(String input, String substring)
    (11)String escapeXml(String input)
    (12)String trim(String input)
    (13)String replace(String input, String substringBefore, String substringAfter)
    (14)String[] split(String input, String delimiters)
    (15)int length(Object obj)
    (16)String join(String array[], String separator)

  4. 示例
    EL 表达式和 JSTL 标签(11)_ JSTL_EL 函数库_java

  5. 源码

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="java.util.*" %>
    <%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <%
    	String[] arr = {"a", "b", "c"};
    	List list = new ArrayList();
    	list.add(1);
    	list.add(2);
    	pageContext.setAttribute("arr", arr);
    	pageContext.setAttribute("list", list);
    	
    %>
    ${fn:length(arr) }<br>
    ${fn:length(list) }<br>
    ${fn:toLowerCase('HH')}<br>
    ${fn:toUpperCase('kkk') }<br>
    ${fn:contains('www.weiyuxuan.cn', 'wyx') }<br>
    ${fn:containsIgnoreCase('www.weiyuxuan.cn', 'RL') }<br>
    ${fn:contains(arr,"b") }<br>
    ${fn:containsIgnoreCase(list, 1) }<br>
    ${fn:endsWith("www.weiyuxuan.cn","com") }<br>
    ${fn:startsWith("www.weiyuxuan.cn","www") }<br>
    ${fn:indexOf("weiyuxuan", "t") }<br>
    ${fn:join(arr, "-") }<br>
    ${fn:replace("www.weiyuxuan.cn", "o", "t") }<br>
    ${fn:join(fn:split("a:b:c", ":"), "+") }
    ${fn:substring("123456", 1, 3) }<br/>
    ${fn:substring("123456", 1, -1) }<br>
    ${fn:substringAfter("123456", "4") }<br>
    ${fn:substringBefore("123456", "4") }<br>
    ${fn:trim("   123456  ") }<br>
    ${fn:escapeXml("<font color=red>www.weiyuxuan.cn</font>") }<br>
    ${"<font color=red>www.weiyuxuan.cn</font>" }
    </body>
    </html>
    

如有错误,欢迎指正!