如何做EL表达式能调用的函数-小例子(转)

 先定义需要用el调用函数所在的类:

注意el所调用的方法必须是static的!

Java代码
  1. package com.qingsoft.el.function;   
  2.   
  3. public class CheckUsername {   
  4.   
  5.     public static boolean check(Userinfo userinfo)   
  6.     {   
  7.         if(userinfo.getUsername().equals("admin"))   
  8.         {   
  9.             return true;   
  10.         }   
  11.         return false;   
  12.     }   
  13. }   

 

接下来定义tld文件如下:

 

XML/HTML代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <taglib xmlns="http://java.sun.com/xml/ns/javaee"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"  
  6.     version="2.1">  
  7.        
  8.   <description>JSTL 1.1 core library</description>  
  9.   <display-name>JSTL core</display-name>  
  10.   <tlib-version>1.1</tlib-version>  
  11.   <short-name>qsfun</short-name>  
  12.   <uri>http://www.qingsoft.net/el/function</uri>  
  13.   
  14.      <function>  
  15.             <description>check username</description>  
  16.             <name>check</name>  
  17.             <function-class>com.qingsoft.el.function.CheckUserName</function-class>  
  18.             <function-signature>boolean   check(com.qingsoft.vo.Userinfo)</function-signature>  
  19.     </function>  
  20.        
  21. </taglib>  

 

下面就可以在jsp文件中使用了:

首先导入标签库:

 

Java代码
  1. <%@taglib prefix="qs" uri="http://www.qingsoft.net/el/function" %>  

 

下面看如何使用: 

Java代码
  1. <%   
  2.     Userinfo userinfo = new Userinfo();   
  3.     userinfo.setUsername("admin");   
  4.     request.setAttribute("userinfo",userinfo);   
  5.     %>   
  6.        
  7.     ${qs:check(userinfo)} 
posted @ 2015-12-11 22:46  宗学唯zi  阅读(466)  评论(0编辑  收藏  举报