jstl中内置了一些处理字符串的常用函数,要使用这些常用函数呢,需要在jsp文件开头处加入一段代码:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
然后在jsp中调用函数的方式:${ns:methodName(args....)} 其中ns对应上段代码中声明的prefix 即fn。
有了这些函数就可以省去一些代码。比如不必将某些不是string的变量转换成string,就可以直接用这些函数做一些字符串的处理。看起来也比<%%>这个美观一些(个人感觉)。今天就写这么多,下一篇会写写jstl在格式化方面的东西。
下面是JSTL中自带的方法列表以及其描述
函数名 | 函数说明 | 使用举例 |
contains | 判断字符串是否包含另外一个字符串 | <c:if test="${fn:contains(name, searchString)}"> |
containsIgnoreCase | 判断字符串是否包含另外一个字符串(大小写无关) | <c:if test="${fn:containsIgnoreCase(name, searchString)}"> |
endsWith | 判断字符串是否以另外字符串结束 | <c:if test="${fn:endsWith(filename, ".txt")}"> |
escapeXml | 把一些字符转成XML表示,例如<字符应该转为< | ${fn:escapeXml(param:info)} |
indexOf | 子字符串在母字符串中出现的位置 | ${fn:indexOf(name, "-")} |
join | 将数组中的数据联合成一个新字符串,并使用指定字符隔开 | ${fn:join(array, ";")} |
length | 获取字符串的长度,或者数组的大小 | ${fn:length(shoppingCart.products)} |
replace | 替换字符串中指定的字符 | ${fn:replace(text, "-", "•")} |
split | 把字符串按照指定字符切分 | ${fn:split(customerNames, ";")} |
startsWith | 判断字符串是否以某个子串开始 | <c:if test="${fn:startsWith(product.id, "100-")}"> |
substring | 获取子串 | ${fn:substring(zip, 6, -1)} |
substringAfter | 获取从某个字符所在位置开始的子串 | ${fn:substringAfter(zip, "-")} |
substringBefore | 获取从开始到某个字符所在位置的子串 | ${fn:substringBefore(zip, "-")} |
toLowerCase | 转为小写 | ${fn:toLowerCase(product.name)} |
toUpperCase | 转为大写字符 | ${fn:UpperCase(product.name)} |
trim | 去除字符串前后的空格 | ${fn:trim(name)} |