随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。
posts - 398,comments - 0,views - 13万

简介:

使用EL函数库需要导入jstl的jar包:

 

 

 然后导入标签:

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
String toUpperCase(String input):把参数转换成大写
String toLowerCase(String input):把参数转换成小写
int indexOf(String input, String substring):从大串中找出小串的位置
boolean contains(String input, String substring):大串是否包含小串,包含为true
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):获取大串中小串所在位置后面的字符串
String substringBefore(String input, String substring):获取大串中小串所在位置前面的字符串
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):联合字符串数组

以上就是EL函数库的函数,使用格式:

 

1
2
3
4
5
6
${函数库前缀:函数名}
例如:导入标签时,prefix="fn"定义前缀为fn
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
 
${fn:length(arr) } -- 得到arr的长度
${fn:toLowerCase(Hello) } -- 首字母小写,输出效果:"hello"

 

自定义函数库:

定义一个Java类,可以有任意个方法,但是必须是static静态方法并且要有返回值

复制代码
package fn;

public class MyFn {
    public static String fun() {
        return "第一个自定义标签";
    }
}
复制代码

在WEB-INF目录下创建tld文件夹,并创建一个a.tld文件进行配置:

在上面的类中,每增加一个函数,就必须在下面的tld文件中将对应的函数进行配置

复制代码
<?xml version="1.0" encoding="UTF-8" ?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
  version="2.0">
    
  <description>No.1</description>    <!-- 描述 -->
  <display-name>cdml-functions</display-name>    <!-- 名称 -->
  <tlib-version>1.0</tlib-version>    <!-- 版本 -->
  <short-name>ml</short-name>    <!-- 前缀 -->
  <uri>http://www.cdml.cn/el/functions</uri> <!-- 地址 -->
  
   <function>
    <name>fun</name>
    <function-class>fn.MyFn</function-class>
    <function-signature>java.lang.String fun()</function-signature>
  </function> 
 </taglib>
  
复制代码

在新建的JSP页面导入标签:

复制代码
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="/WEB-INF/tld/a.tld" prefix="ml" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>title</title>
</head>
<body>
<h1>${ml:fun() }</h1>
</body>
</html>
复制代码

${ml:fun() }的形式使用这个函数,启动服务器并访问jsp:

结果成功输出了函数返回的字符串。

 

posted on   时间完全不够用啊  阅读(104)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示