<?xml version="1.0" encoding="GB18030"?> <taglib version="2.0" 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 web-jsptaglibrary_2_0.xsd"> <tlib-version>1.0</tlib-version> <short-name>el</short-name> <function> <name>length</name> <function-class>el.ELFunction</function-class> <function-signature> java.lang.Integer length(java.lang.Object) </function-signature> </function> </taglib>
<%@page pageEncoding="GB18030"%> <%@ taglib prefix="el" uri="/WEB-INF/tld/el.tld" %> ${el:length("el:length")}
package el; import java.util.Collection; import java.util.Map; public class ELFunction { public static Integer length(Object obj) { if (obj instanceof String) { return ((String) obj).length(); } if (obj instanceof Collection) { return ((Collection) obj).size(); } if (obj instanceof Map) { return ((Map) obj).size(); } if (obj instanceof Object[]) { return ((Object[]) obj).length; } if (obj instanceof String[]) { return ((String[]) obj).length; } if (obj instanceof Integer[]) { return ((Integer[]) obj).length; } if (obj instanceof long[]) { return ((long[]) obj).length; } return 0; } }