EL 自定义函数

第一步: 写一个Java类,类中可以定义0-N个功能函数

package com.yyq;
// 第一步定义一个功能方法,方法可以有多个
public class MyFunction {
    // 方法必须是静态方法,必须有返回值,可以传递参数
    public static String fun(){
        return "每一个梦想都会成真";
    }
}

第二步,写一个tld 文件,放到指定目录下,在WEB-INF目录下创建一个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>yyq functions library</description>
  <display-name>yyq functions</display-name>
  <tlib-version>1.0</tlib-version>
  <short-name>yyq</short-name>
  <uri>http://yyq.com/functions</uri>
    
    <function>
    <name>fun</name>
    <function-class>com.yyq.MyFunction</function-class>
    <function-signature>java.lang.String fun()</function-signature>
  </function>
  
</taglib>

// 上面出现了一个大问题    uri 不能随便写,很容易出错

3.在jsp页面中导入标签库

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="my" uri="/WEB-INF/tlds/yyq.tld" %>
<%-- <%@ taglib prefix="my" uri="/WEB-INF/tags/yyq.tld" %> --%>
<!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>
${my:fun() }
</body>
</html>

这样自定义el函数就完成了

原文地址:https://www.cnblogs.com/yangyongqian/p/5256520.html