自定义EL表达式

如何定义el函数
  1 定义一个java类
     *  类中的方法用 public  static修饰

           

public class ElFunction {  
 /** 
  * 计算输入字符串的长度 
  * @param str 
  * @return 
  */  
 public static Integer getLength(String str){  
  System.out.println("str  "+str);  
  if(str!=null){  
   return str.length();  
  }  
  return null;  
 }  
 }  

(2)

 在tld文件中配置

<!-- 配置函数-->  
<function>  
    <!-- 在jsp页面的el表达式中使用的函数的名称 -->  
 <name>getLength</name>  
 <!-- 函数所在的类路径 -->  
 <function-class> cn.itcast.function.ElFunction</function-class>  
 <!-- 配置函数的签名 格式 返回类型  函数名称(参数1,参数2)-->  
 <function-signature>java.lang.Integer getLength(java.lang.String)</function-signature>  
</function>  

  
    (3)

 在jsp页面使用
       * 引入tld文件
         <%@ taglib uri="http://www.itcast.cn/jsp/myel/functions" prefix="fen" %>
        
       * 在el表达式中使用函数
              测试字符串的长度${fen:getLength("abcdef")}<br>      

  
   注:  

tld文件的位置:
   * Tld  文件可以放置在 web 应用程序的 WEB-INF 目录及其子目录中,但不能放置在 WEB-INF 目录下的 classes 和 lib 子目录中 。
   * tld 文件也可以放置在 WEB-INF/lib 目录下的 jar 包的 META-INF 目录及其子目录中
  
   * 在servlet2.4规范及其以后的版本中 tld文件不用在web.xml文件配置,也就是上面的第四步可以省略
   * tld文件服务器查找顺序:
        web服务器先在/WEB-INF/下查找,WEB-INF/下查找不到,在lib下jar包中META-INF目录中查找
       

 jstl标签库的类库引入:
   *  如果是j2ee1.4在myEcplise中需要自己引入jstl标签库的jar文件
   *  如果是j2ee1.5在myEcplise中不需要需要自己引入jstl标签库的jar文件
  
   *  在jstl 1.2之前:需引入 jstl.jar standard.jar两个文件
   *  在jstl 1.2(包含)之后:需引入 jstl.jar两个文件(把上面的两个合成一个)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值