EL表达式-自定义函数

来源:互联网 发布:知耻而后勇 编辑:程序博客网 时间:2024/04/29 09:53

表达式语言除了可以使用基本的运算符外,还可以使用自定义函数。通过使用自定义函数,加强了表达式语言的功能。 

EL表达式函数,主要功能是完成对数据的修改,统一化格式; 

开发步骤:

    1.开发函数处理类,处理类就是普通的类;每个函数对应类中的一个静态方法;

    2. 建立TLD文件,定义表达式函数

    3.在WEB.XML文件中配置;(可省略)

    4.在JSP页面内导入并且使用

 

案例说明

    1.开发函数处理类

Java代码  收藏代码
  1. package mytag;  
  2. /** 
  3.  * EL表达式函数处理类 
  4.  */  
  5. public class ElTag {  
  6.       
  7.     public static String reverse(String name){  
  8.         return new StringBuffer(name).reverse().toString();  
  9.     }  
  10.       
  11.     public static int countChar(String text){  
  12.         return text.trim().length();  
  13.     }  
  14. }  

   

   2.创建TLD文件;

   

Java代码  收藏代码
  1. <?xml version="1.0" encoding="GBK"?>  
  2. <taglib xmlns="http://java.sun.com/xml/ns/j2ee"       
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
  5.     http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"       
  6.     version="2.0">     
  7.     <!-- 定义函数版本 -->  
  8.     <tlib-version>1.0</tlib-version>  
  9.     <!-- 定义函数名称 -->  
  10.     <short-name>el</short-name>  
  11.     <!-- 定义第一个函数 -->  
  12.     <function>  
  13.         <!-- 定义第一个函数:reverse -->  
  14.         <name>reverse</name>  
  15.         <!-- 定义函数处理类 -->  
  16.         <function-class>mytag.ElTag</function-class>  
  17.         <!-- 定义函数的对应方法 -->  
  18.         <function-signature>  
  19.             java.lang.String reverse(java.lang.String)  
  20.         </function-signature>  
  21.     </function>  
  22.       
  23.     <function>  
  24.         <name>countChar</name>  
  25.         <function-class>mytag.ElTag</function-class>  
  26.         <function-signature>  
  27.             java.lang.Integer countChar(java.lang.String)  
  28.         </function-signature>  
  29.     </function>  
  30.       
  31. </taglib>  

 3.在WEB中配置

Java代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  5.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  6.     <jsp-config>  
  7.         <taglib>  
  8.             <!-- 配置标签的引用地址 JSP页面中引用时使用-->  
  9.             <taglib-uri>/eltag</taglib-uri>  
  10.             <!-- 配置标签的TLD文件地址 -->  
  11.             <taglib-location>/WEB-INF/ElTag.tld</taglib-location>  
  12.         </taglib>  
  13.     </jsp-config>  
  14.     <welcome-file-list>  
  15.         <welcome-file>index.jsp</welcome-file>  
  16.     </welcome-file-list>  
  17. </web-app>  

 

4.JSP页面引入 并且使用

Java代码  收藏代码
  1. <%@ taglib uri="/eltag" prefix="el" %>   
  2.   
  3.   <body>  
  4.     ${el:reverse("ad") }  
  5.   </body>  

 

0 0
原创粉丝点击