自定义EL表达式方法

    大家在编写jsp 的时候相信大家都会使用到EL 表达式语言, 可是我们还是会遇到不方便的时候, 比如连接两个字符串, 在java 中我们可以这样写  [ String str = “ str1 ” + ” str2 ” ;  ] 这绝对没有问题, 可是如果使用EL 表达式语言, 那就麻烦了, 你如果写成这样[   ${ ‘ str1 ’ ‘ str2 ’ }   ] EL 会认为你是想进行加法运算 … . 那么页面就抛出了异常, 可是有这种需求( 连接字符串) 该怎么办呢?

      我们必须先要建立一个java 类文件, 然后建立一个公有的静态的方法方法

 

Java代码   收藏代码
  1. public class ELFuncUtil {  
  2. /** 
  3.      * 
  4.      * <pre> 
  5.      * 创建人: 王涛 
  6.      * 创建于: Aug 27, 2007 
  7.      * 描 述: 
  8.      *    EL方法用于连接两个字符串 
  9.      * </pre> 
  10.      * 
  11.      * @param str1 
  12.      * @param str2 
  13.      * @return 
  14.      */  
  15.     public static String append(String str1, String str2) {  
  16.        return str1 + str2;  
  17.     }  
 
这个方法很简单就是将两个参数str1 和str2 进行连接 , 然后返回.
我们还要写一个tld 文件 如:  elfunc.tld  。文件内容是这样的
Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  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" version="2.0">  
  6.   
  7. <tlib-version>1.0</tlib-version>  
  8. <short-name>elf</short-name>  
  9. <function>  
  10.        <description>用于连接两个字符串</description>  
  11.        <name>append</name>  
  12.        <function-class>com.tianjin.canic.tjeg.utils.ELFuncUtil</function-class>  
  13.        <function-signature>  
  14.                 java.lang.String append(java.lang.String,java.lang.String)  
  15.        </function-signature>  
  16.        <example>${elf:append(str1, str2)}</example>  
  17.     </function>  
  18. </taglib>  

    注:int型直接写成int就行

然后在jsp 页面中要这么写
<%@ taglib prefix = "elf" uri = "/WEB-INF/elfunc.tld" %>
使用的时候这样写    ${elf:append(str1, str2)}  自动就会返回一个连接好的字符串
 

如: <c:out value="${elf:append(param.str1, param.str2)} "/>

 

 

原文地址:http://jiangsha.iteye.com/blog/367182

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值