http://tonyaction.blog.51cto.com/227462/42348/
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://tonyaction.blog.51cto.com/227462/42348
自定义EL
表达式方法
大家在编写jsp
的时候相信大家都会使用到EL表达式语言,可是我们还是会遇到不方便的时候,比如连接两个字符串,在java中我们可以这样写 [ String str =“str1”+”str2”; ]这绝对没有问题,可是如果使用EL表达式语言,那就麻烦了,你如果写成这样[ ${‘str1’ + ‘str2’} ] EL会认为你是想进行加法运算….那么页面就抛出了异常,可是有这种需求(连接字符串)该怎么办呢?
我们必须先要建立一个java
类文件,
publicclass ELFuncUtil {
然后建立一个公有的静态的方法方法
/**
*
*<pre>
*创建人:王涛
*创建于:Aug27,2007
*描述:
* EL方法用于连接两个字符串
*</pre>
*
*@paramstr1
*@paramstr2
*@return
*/
publicstatic String append(String str1, String str2) {
return str1 + str2;
}
这个方法很简单就是将两个参数str1
和str2 进行连接 ,然后返回.
我们还要写一个tld
文件 如:elfunc.tld
文件内容是这样的
<?xmlversion="1.0"encoding="UTF-8"?>
<taglibxmlns="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)}"/>
本文出自 “绝缘材料” 博客,请务必保留此出处http://tonyaction.blog.51cto.com/227462/42348