如果JSTL的方法库没有满足需要,可以使用自定义方法进行扩展
public class Function{ public static int length(Object obj){ //返回对象的长度 if(obj == null){ return 0; } if(obj instanceof StringBuffer){ return lenth(((StringBuffer)obj).toString()); } if(obj instanceof String){ return ((String)obj).getBytes.length; } if(obj instanceof Collection){ return ((Collection)obj).size(); } }}配置文件
custom functionslibrary customfunctions 1.1 function http://www.clf.com/tags descriptioncontent lenth com.chen.Funtion int length(java.lang.Object) ${fn:length(string)}
自定义方法的声明写在 <function-signature>标记里面,格式为
返回值 方法名(参数1类型,参数2类型……)
加入有个String型变量,赋值“字符串测试”
在JSP页面中定义的标签库的前缀是“fn”,则用法如下
${fn:length(string)}
这句话就能输出字符串的长度