1.fn:contains 判断字符串是否包含另外一个字符串
(name,searchString)}"> 2.fn:containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关)
test="${fn:containsIgnoreCase(name,searchString)}"> 3.fn:endsWith 判断字符串是否以另外字符串结束
(filename,".txt")}"> 4.fn:escapeXml 把一些字符转成XML表示,例如
${fn:escapeXml(param:info)} 5.fn:indexOf 子字符串在母字符串中出现的位置
${fn:indexOf(name,"-")} 6.fn:join 将数组中的数据联合成一个新字符串,并使用指定字符格开 ${fn:join
(array,";")} 7.fn:length 获取字符串的长度,或者数组的大小 ${fn:length
(shoppingCart.products)} 8.fn:replace 替换字符串中指定的字符 ${fn:replace(text,
"-","")} 9.fn:split 把字符串按照指定字符切分
${fn:split(customerNames,";")} 10.fn:startsWith 判断字符串是否以某个子串开始
(product.id,"100-")}"> 11.fn:substring 获取子串 ${fn:substring(zip,
6,-1)} 12.fn:substringAfter 获取从某个字符所在位置开始的子串${fn:substringAfter
(zip,"-")} 13.fn:substringBefore 获取从开始到某个字符所在位置的子串
${fn:substringBefore(zip,"-")} 14.fn:toLowerCase
转为小写${fn.toLowerCase(product.name)} 15.fn:toUpperCase
转为大写字符${fn.UpperCase(product.name)} 16.fn:trim 去除字符串前后的空格 ${fn.trim(name)}
称呼Functions 标签库为标签库,倒不如称呼其为函数库来得更容易理解些。因为 Functions
标签库并没有提供传统的标签来为JSP 页面的工作服务,而是被用于 EL 表达式语句中。在 JSP2.0 规范下出现的
Functions 标签库为 EL表达式语句提供了许多更为有用的功能。 Functions 标签库分为两大类,共 16
个函数。
长度函数: fn:length
字符串处理函数: fn:contains 、 fn:containsIgnoreCase 、 fn:endsWith
、fn:escapeXml 、 fn:indexOf 、 fn:join 、 fn:replace 、 fn:split
、fn:startsWith 、 fn:substring 、 fn:substringAfter
、fn:substringBefore 、 fn:toLowerCase 、 fn:toUpperCase
、fn:trim
以下是各个函数的用途和属性以及简单示例。
9.7.1 长度函数 fn:length 函数
长度函数
fn:length 的出现有重要的意义。在 JSTL1.0
中,有一个功能被忽略了,那就是对集合的长度取值。虽然java.util.Collection 接口定义了 size
方法,但是该方法不是一个标准的 JavaBean 属性方法(没有get,set 方法),因此,无法通过 EL 表达式“
${collection.size} ”来轻松取得。
fn:length 函数正是为了解决这个问题而被设计出来的。它的参数为
input,将计算通过该属性传入的对象长度。该对象应该为集合类型或 String 类型。其返回结果是一个
int类型的值。下面看一个示例。