一、创建EL自定义函数的实现类
package com.java.myfunctions;
public class MyFunction {
public static String toUpperString(String value){
//将接收到的字符串转换成大写并返回
return value.toUpperCase();
}
}
二、注册自定义EL函数
1、在JavaWeb应用的WEB-INF目录下建立一个扩展名是tld的XML文件
<?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">
<!-- 标签库的版本号 -->
<tlib-version>1.0</tlib-version>
<!-- 可以任意写,最好与文件名一致 -->
<short-name>funs</short-name>
<!-- taglib指令中URI需要指定的部分,可以任意写 -->
<uri>http://www.laoda.cn/funs</uri>
<!-- 定义函数 -->
<function>
<!-- 在使用EL表达式时使用的函数名 -->
<name>funs</name>
<!-- 自定义函数,需要绑定的Class的全名 -->
<function-class>com.java.myfunctions.MyFunction</function-class>
<!-- 自定义函数签名的完整写法,包名+方法返回类型 方法名(包名+类型) -->
<function-signature>java.lang.String toUpperString(java.lang.String )</function-signature>
</function>
</taglib>
三、引用tld文件并使用自定义EL函数
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 引用tld文件 (快捷键"ait+/")-->
<%@ taglib prefix="fn" uri="http://www.laoda.cn/funs" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 使用自定义EL函数 -->
${fn:funs("haoren") }
</body>
</html>