自定义EL表达式方法

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









本文转自 tony_action 51CTO博客,原文链接:http://blog.51cto.com/tonyaction/42348,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
前端开发 Java
48SpringMVC - 参数绑定(自定义)
48SpringMVC - 参数绑定(自定义)
26 0
|
6月前
Thymeleaf内置对象、定义变量、URL参数及标签自定义属性
Thymeleaf内置对象、定义变量、URL参数及标签自定义属性
112 0
|
7月前
43SpringMVC - 参数绑定(默认支持的参数类型)
43SpringMVC - 参数绑定(默认支持的参数类型)
23 0
|
9月前
|
Java
Thymeleaf th名称空间-表达式语法-访问域对象-获取请求参数-内置对象
Thymeleaf th名称空间-表达式语法-访问域对象-获取请求参数-内置对象
67 0
EL表达式学习(一):输出复杂的Bean对象
今天学习的内容是:使用EL表达式输出Person类中的普通属性、数组属性,list集合属性和map集合属性 。
EL表达式学习(一):输出复杂的Bean对象
|
存储 JSON 算法
DO447使用过滤器和插件转换器--使用过滤器处理变量
DO447使用过滤器和插件转换器--使用过滤器处理变量
184 0
DO447使用过滤器和插件转换器--使用过滤器处理变量
|
Web App开发 存储 Java
struts2之OGNL和struts2标签库和ValueStack对象
OGNL简介:    (1)OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。      struts2框架默认就支持Ognl表达式语言(所以struts必须引用的包:ognl.
1245 0