自定义EL表达式方法

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

我们必须先要建立一个java类文件,

public class ELFuncUtil {

然后建立一个公有的静态的方法方法

/**

     *

     * <pre>

     * 创建人: 王涛

     * 创建于: Aug 27, 2007

     *  :

     *    EL方法用于连接两个字符串

     * </pre>

     *

     * @param str1

     * @param str2

     * @return

     */

    public static String append(String str1, String str2) {

       return str1 + str2;
    }

这个方法很简单就是将两个参数str1 str2 进行连接 ,然后返回.

我们还要写一个tld文件 如: elfunc.tld

文件内容是这样的

<?xml version="1.0" encoding="UTF-8"?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee [url]http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd[/url]" version="2.0">

    <tlib-version>1.0</tlib-version>

<short-name>elf</short-name>

<function>

       <description>用于连接两个字符串</description>

       <name>append</name>

       <function-class>com.tianjin.canic.tjeg.utils.ELFuncUtil</function-class>

       <function-signature>java.lang.String append(java.lang.String,java.lang.String)</function-signature>

       <example>${elf:append(str1, str2)}</example>

    </function>

</taglib>

然后在jsp页面中要这么写

<%@ taglib prefix="elf" uri="/WEB-INF/elfunc.tld"%>

使用的时候这样写   ${elf:append(str1, str2)} 自动就会返回一个连接好的字符串
 
如: <c:out value="${elf:append(param.str1, param.str2)}"/>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值