EL表达式调用函数

http://blog.csdn.net/it_man/article/details/7657691

首先说一下ognl调用方式

<s:setname="albumImg"value="@com.iss.portal.base.util.FileTools@getImgByWH(#oneAlbum.cover,'100X100')"></s:set>

其次

EL表达式调用自定义函数

1 EL表达式调用Javabean中的函数非常简单,只要有getXXX方法,就可以在页面上写${javaben.xxx}从而调用方法了

2 EL表达式调用标签<tag>中的方法:

如EL调用jstl中<fn:contains/>方法如下:\

  1. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>  
  2.   
  3. ${fn:contains(stringA,stringB)}  


 

另外EL调用自定义标签方法如下:

1.在WebRoot\WEB-INF目录下面建立一个mytag.tld文件。

2.Mytag.tld内容是

 

  1. <?xml version="1.0" encoding="UTF-8"?>   
  2.   
  3.  <taglib xmlns="http://java.sun.com/xml/ns/j2ee"   
  4.   
  5.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  6.   
  7.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"   
  8.   
  9.     version="2.0">   
  10.   
  11.     <tlib-version>1.0</tlib-version>   
  12.   
  13.     <short-name>el</short-name>   
  14.   
  15. <function>  
  16.   
  17. <!-- 对这个EL方法的描述  -->  
  18.   
  19.        <description>calculate string length</description>   
  20.   
  21.        <name>FunctionsEl</name><!-- 调用EL方法的名称 -->   
  22.   
  23.         <function-class>com.el.code.FunctionsEl</function-class>   
  24.   
  25.         <function-signature>   
  26.   
  27.              java.lang.String elEncode(java.lang.String)  
  28.   
  29.         </function-signature>   
  30.   
  31.          <example>${el:FunctionsEl(str)}</example><!-- 例如 -->   
  32.   
  33.       </function>   
  34.   
  35.    </taglib>  

3.在com.el.code包下面新建一个类名为FunctionsEl的类。

  1. package com.gouwu.youboy.util;  
  2.   
  3.    
  4.   
  5. import java.io.UnsupportedEncodingException;  
  6.   
  7. import java.net.URLEncoder;  
  8.   
  9.    
  10.   
  11. /** 
  12.  
  13.  * @project XXX 
  14.  
  15.  * @author : XXX 
  16.  
  17.  * @version 1.0 
  18.  
  19.  * @Create:2011 5:41:27 PM 
  20.  
  21.  * @Update: 
  22.  
  23.  * @describe: 
  24.  
  25.  */  
  26.   
  27. public class FunctionsEl {  
  28.   
  29.     /** 
  30.  
  31.      * 对中文进行转码 
  32.  
  33.      * @param str 中文字符串 
  34.  
  35.      * @return 中文编码过后的的字符串 
  36.  
  37.      */  
  38.   
  39.     public static String elEncode(String str) {  
  40.   
  41.         String decodeStr = null;  
  42.   
  43.         try {  
  44.   
  45.             decodeStr = URLEncoder.encode(str, "UTF-8");  
  46.   
  47.         } catch (UnsupportedEncodingException e) {  
  48.   
  49.             e.printStackTrace();  
  50.   
  51.         }  
  52.   
  53.         return decodeStr;  
  54.   
  55.     }  
  56.   
  57.    
  58.   
  59. }  


4.在JSP页面引用如下:

  1. <%@ taglib prefix="el" uri="/WEB-INF/mytag.tld"%>  
  2.   
  3. ${el:FunctionsEl(iklist)} 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值