自定义EL函数
一、利用EL表达式调用普通Java类中的静态方法
1、编写一个java类,并编写一个静态方法,如下所示:
public class ElDemo {
//静态方法:将小写转换为大写
public static String convert(String str){
return str.toUpperCase();
}
}
它的功能就是将参数变为大写
2、创建一个标签描述文件(tld)文件,其就是一个xml文件,一般放在WEB-INF下,创建的文件如下:
<?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>我的tld</description>
<display-name>mytld</display-name>
<tlib-version>1.0</tlib-version>
<short-name>mm</short-name>
<uri>http://www.itcast.cn/tld</uri>
<function><!--定义一个函数-->
<name>convert</name><!--函数名称,以便在jsp中调用-->
<function-class>cn.itcast.el.ElDemo</function-class><!--指定是哪个类中的函数,类名用全名-->
<function-signature>
java.lang.String convert(java.lang.String)<!--指定方法的签名。返回值类型和参数类型要用全名-->
</function-signature>
</function>
</taglib>
3、在web.xml中注册该tld文件
<jsp-config>
<taglib>
<taglib-uri>http://www.itcast.cn/tld</taglib-uri><!--与tld中uri一致就可-->
<taglib-location>/WEB-INF/tld/mytld.tld</taglib-location><!--tld所在的位置-->
</taglib>
</jsp-config>
4、在JSP中使用该函数
先利用taglib指令引入该tld
<%@ taglib uri="http://www.itcast.cn/tld" prefix="mm"%>
用一下代码来调用
1、编写一个java类,并编写一个静态方法,如下所示:
public class ElDemo {
//静态方法:将小写转换为大写
public static String convert(String str){
return str.toUpperCase();
}
}
它的功能就是将参数变为大写
2、创建一个标签描述文件(tld)文件,其就是一个xml文件,一般放在WEB-INF下,创建的文件如下:
<?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>我的tld</description>
<display-name>mytld</display-name>
<tlib-version>1.0</tlib-version>
<short-name>mm</short-name>
<uri>http://www.itcast.cn/tld</uri>
<function><!--定义一个函数-->
<name>convert</name><!--函数名称,以便在jsp中调用-->
<function-class>cn.itcast.el.ElDemo</function-class><!--指定是哪个类中的函数,类名用全名-->
<function-signature>
java.lang.String convert(java.lang.String)<!--指定方法的签名。返回值类型和参数类型要用全名-->
</function-signature>
</function>
</taglib>
3、在web.xml中注册该tld文件
<jsp-config>
<taglib>
<taglib-uri>http://www.itcast.cn/tld</taglib-uri><!--与tld中uri一致就可-->
<taglib-location>/WEB-INF/tld/mytld.tld</taglib-location><!--tld所在的位置-->
</taglib>
</jsp-config>
4、在JSP中使用该函数
先利用taglib指令引入该tld
<%@ taglib uri="http://www.itcast.cn/tld" prefix="mm"%>
用一下代码来调用
${mm:convert("abcdefg")}------------------->输出ABCDEFG