首页 > 其他 > 详细

el表达式的function标签

时间:2014-03-07 08:20:15      阅读:441      评论:0      收藏:0      [点我收藏+]

使用el调用Java方法

  1:EL表达式语法允许开发人员开发自定义函数,以调用java类的方法。

    ~示例:${el:method(params)}

    ~在EL表达式中调用的只能是java类的静态方法。

    ~这个java类的静态方法需要在TLD文件中描述,才可以被EL表达式调用。

    ~EL自定义函数用于扩展EL表达式的功能,可以让EL表达式完成普通java程序代码所能完成的功能。

EL Function开发步骤

  一般来说,EL自定义函数开发与应用包括以下三个步骤

            (1):编写一个java类的静态方法

     (2):编写标签库描述(tld)文件,在tld文件中描述自定义函数。

     (3):在JSP页面中导入和使用自定义的el function

下面举个列子:

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

2.Mytag.tld内容是:

bubuko.com,布布扣
<?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   http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 

    version="2.0"> 

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

    <short-name>el</short-name> 

<function>

<!-- 对这个EL方法的描述  -->

       <description>calculate string length</description> 

       <name>FunctionsEl</name><!-- 调用EL方法的名称 --> 

        <function-class>com.el.code.FunctionsEl</function-class> 

        <function-signature> 

             java.lang.String elEncode(java.lang.String)

        </function-signature> 

         <example>${el:FunctionsEl(str)}</example><!-- 例如 --> 

      </function> 

   </taglib>
bubuko.com,布布扣

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

bubuko.com,布布扣
package com.gouwu.youboy.util;

 

import java.io.UnsupportedEncodingException;

import java.net.URLEncoder;

 

/**

 * @project XXX

 * @author : XXX

 * @version 1.0

 * @Create:2011 5:41:27 PM

 * @Update:

 * @describe:

 */

public class FunctionsEl {

    /**

     * 对中文进行转码

     * @param str 中文字符串

     * @return 中文编码过后的的字符串

     */

    public static String elEncode(String str) {

        String decodeStr = null;

        try {

            decodeStr = URLEncoder.encode(str, "UTF-8");

        } catch (UnsupportedEncodingException e) {

            e.printStackTrace();

        }

        return decodeStr;

    }

 

}
bubuko.com,布布扣

4.在JSP页面引用如下:

bubuko.com,布布扣
<%@ taglib prefix="el" uri="/WEB-INF/mytag.tld"%>

${el:FunctionsEl(iklist)}
bubuko.com,布布扣

开发EL Function注意事项

 ~编写完标签库描述文件后,需要将它放置到web应用的WEB-INF目录中或者WEB-INF目录下

的除了class和lib目录之外的任意目录上。

 ~TLD文件中的<url>元素用制定该TLD文件的URL,在JSP文件中需要通过这个URL来引入该标签库描述文件

 ~<function>元素用于标签描述,一个EL自定义函数,其中:

        <name>子元素用于指定EL自定义函数的名称。

   <function-class>子元素用于

el表达式的function标签,布布扣,bubuko.com

el表达式的function标签

原文:http://www.cnblogs.com/plf112233/p/3585035.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!