作用:用EL也能使用java类中的函数!不用在jsp中再出现java代码!
开始:
第1步:创建你的类:
package com.util;
public class ELFunction {
public static String toUpString (String str){
return str.toUpperCase();
}
}
第2步:
a.创建tld文件:在WEB-INF目录下直接创建一个你的tld文件(用来包含所有类的方法)MyFunction.tld
b. 配置此tld文件:
<?xml version="1.0" encoding="UTF-8"?>
第3步 配置WEB-INF.xml:(注意:若tld文件存在于WEN-INF文件根目录下则无需第3步)
<!-- 若tld文件直接在WEB-INF的根目录下,可不用写 -->
<jsp-config><!-- 告知应用,与tld中的uri的对应 -->
<taglib>
<taglib-uri>lsq</taglib-uri><!-- 与tld中uri相对应 -->
<taglib-location>/WEB-INF/MyFunction.tld</taglib-location><!-- tld文件的路径 -->
</taglib>
</jsp-config>
<description>Use the java static Function</description><!-- 描述性文件,可省略 -->
<tlib-version>1.0</tlib-version><!-- 我文件的版本号 -->
<short-name>MyFunction</short-name><!-- 最好跟此文件名一样 -->
<uri>lsq</uri><!-- 命名可任意 -->
<function><!-- 定义的函数 -->
<description>Reverses the characters in the given String</description><!--描述函数的功能,可省略-->
<name>a_To_A </name><!-- 这个函数名,可随意 -->
<function-class>com.util.ELFunction</function-class><!--这个函数所属的类全名-->
<!-- 签名,是方法的返回值 。java.lang.String toUpString 是返回值,java.lang.String 是函数参数-->
<function-signature>java.lang.String toUpString( java.lang.String )</function-signature>
</function>
</taglib>
第3步 配置WEB-INF.xml:(注意:若tld文件存在于WEN-INF文件根目录下则无需第3步)
<!-- 若tld文件直接在WEB-INF的根目录下,可不用写 -->
<jsp-config><!-- 告知应用,与tld中的uri的对应 -->
<taglib>
<taglib-uri>lsq</taglib-uri><!-- 与tld中uri相对应 -->
<taglib-location>/WEB-INF/MyFunction.tld</taglib-location><!-- tld文件的路径 -->
</taglib>
</jsp-config>
第4步:在jsp页面中使用:
<%@ page language="java" import="java.util.*" pageEncoding="utf8" %>
<%@ taglib uri="lsq" prefix="MyFunction" %><%-- 与tld文件中uri一样 ,prefix对应 MyFunction中的<short-name> --%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EL中使用函数</title>
</head>
<body>
<%
pageContext.setAttribute("p","aaabbbdddeeefffggghhh");
%>
${MyFunction:a_To_A(p)}
</body>
</html>