jstl处理字符串的一些常用函数
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)}