自定义EL函数

我们可以通过EL表达式来获取并输出四大域中数据,同时还可以通过EL表达式调用自定义的函数进行输出

1.定义java函数

package elfunction;

public class MyElFunction {

	//注意是static
    public static String string_Splicing(String str,String stk)
    {
        return str+stk;
    }

    public static String myToLowerCase(String str)
    {
        return str.toLowerCase();
    }

}

2.在.tld文件中注册java函数
在web-inf目录下创建一个.tld文件,需要注意的是,.tld文件是有约束的,我们可以参考apache-tomcat-9.0.17\webapps\examples\WEB-INF\jsp2\jsp2-example-taglib.tld这个文件(如果没有这个文件,重新解压tomcat,就会看到了)

<?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中的内容由我们自己定义,在JSP页面中会用到-->
    <short-name>myelfunction</short-name>
    <!--short-name中的内容由我们自己定义,在JSP页面中会用到-->
    <uri>http://myelfunction</uri>

    <function>
        <!--name中的内容是我们自定的,一般和自定义函数名称相同-->
        <name>string_Splicing</name>
        <!--自定义函数所在的类,注意是全类名-->
        <function-class>elfunction.MyElFunction</function-class>
        <!--函数的返回值、名称、参数,注意返回值、参数应该是全类名-->
        <function-signature>java.lang.String string_Splicing(java.lang.String,java.lang.String)</function-signature>
    </function>

    <function>
        <!--name中的内容是我们自定的,一般和自定义函数名称相同-->
        <name>myToLowerCase</name>
        <!--自定义函数所在的类,注意是全类名-->
        <function-class>elfunction.MyElFunction</function-class>
        <!--函数的返回值、名称、参数,注意返回值、参数应该是全类名-->
        <function-signature>java.lang.String myToLowerCase(java.lang.String)</function-signature>
    </function>

</taglib>

3.在JSP页面中通过taglib引入.tld文件

<%@ taglib uri="http://myelfunction" prefix="myelfunction" %>
uri:为.tld文件中<uri>http://myelfunction</uri>
prefix:为.tld文件中<short-name>myelfunction</short-name>

4.在JSP页面中使用自定义函数

    ${myelfunction:string_Splicing("zhang","san")}
    ${myelfunction:myToLowerCase("I AM STUDENT")}

调用方式:${short-name:function.name(参数)}

最后再总结一下自定EL函数的步骤
1.定义java函数
2.web-inf下创建.tld文件并注册java函数
3.在JSP页面通过taglib标签引入.tld
4.通过EL表达式调用自定义函数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值