• EL函数库


    ****概述****:

    EL函数库是由第三方对EL的扩展,EL函数库是由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指令,导入自定义标签库

  • 相关阅读:
    文件夹生成zip
    html 字符串 生成 pdf 完美解决中文不显示
    layui 数据表格+分页+搜索+checkbox+缓存选中项数据
    排序算法总结
    排序算法(10)--Distribution Sorting--分布排序[2]--Radix Sort--基数排序
    排序算法(8)--Merge Sorting--归并排序--Merge sort--归并排序
    [Android]在Dagger 2中使用RxJava来进行异步注入(翻译)
    [Android]使用Dagger 2进行依赖注入
    [Android]Android端ORM框架——RapidORM(v2.1)
    [Android]使用MVP解决技术债务(翻译)
  • 原文地址:https://www.cnblogs.com/QianYue111/p/9743636.html
Copyright © 2020-2023  润新知