1 EL表达式调用Javabean中的函数非常简单,只要有getXXX方法,就可以在页面上写${javaben.xxx}从而调用方法了
2 EL表达式调用标签<tag>中的方法:
如EL调用jstl中<fn:contains/>方法如下:
[html] view plaincopy
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
${fn:contains(stringA,stringB)}
另外EL调用自定义标签方法如下:
1.在WebRoot\WEB-INF目录下面建立一个mytag.tld文件。
2.Mytag.tld内容是
[html] view plaincopy
<?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>
3.在com.el.code包下面新建一个类名为FunctionsEl的类。
[html] view plaincopy
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;
}
}
4.在JSP页面引用如下:
[html] view plaincopy
<%@ taglib prefix="el" uri="/WEB-INF/mytag.tld"%>
${el:FunctionsEl(iklist)}