如何定义自己的EL表达式

在定义一个EL表达式前,首先你要考虑你需要怎要的功能,毕竟你是需要一个功能才要定义一个EL,因为我想使用一个函数(以前c有的,但是在java中我找不到),比如2的5次幂(2*2*2*2*2),
首先给你的方法起一个名字,要有特点,使人容易记住,我想了一个:abc
1.定义一个类ELFunction
1)在里面定义一个静态的方法,方法名字叫abc,返回值为Integer ,有两个Integer类型的参数
    public static Integer abc(Integer a,Integer b){
            Integer result = 1;
            for(int i = 0; i < b ; i++){
                    result = result * a;
            }
                return result;
    }
2.定义xml文件

<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" 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 web-jsptaglibrary_2_0.xsd">
        <tlib-version>1.0</tlib-version><!--版本-->
        <short-name>el-funcitontwo</short-name><!--函数标记库名称-->
        <function>
               <!--你在jsp中使用EL标记的名字-->
                <name>abc</name>
                <!-- 这个东西是那个类实现的-->
                <function-class>el.ELFunctiontwo</function-class>
                <!-- 这个方法的返回值,名字,从参数类型,注意:参数只有类型没有变量-->
                <function-signature>
                        java.lang.Integer abc(java.lang.Integer, java.lang.Integer)
                </function-signature>
        </function>
</taglib>

3.在jsp文件中使用自己定义的EL
因为是自己定义的,所以要引入并且给个前缀prefix
<%@ taglib uri="/WEB-INF/el-functiontwo.tld" prefix="f"%>
<%session.setAttribute("a",12);session.setAttribute("b",13);%>
${f:abc(3,3)}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值