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函数就完成了