javascript
JSTL的fn函数
轉(zhuǎn)自:https://www.cnblogs.com/mingforyou/p/4468855.html
JSTL使用表達(dá)式來簡化頁面的代碼,這對一些標(biāo)準(zhǔn)的方法,例如bean的getter/setter方法,請求參數(shù)或者context以及 session中的數(shù)據(jù)的訪問非常方便,但是我們在實(shí)際應(yīng)用中經(jīng)常需要在頁面調(diào)用對象的某些方法,例如我需要調(diào)用字符串的length方法來獲取字符串的 長度時(shí),在以往的開發(fā)過程中我們必須把對象先轉(zhuǎn)為String類,然后在調(diào)用其length方法,這樣的代碼繁瑣而且容易出錯(cuò)。
?????? 因此JSTL內(nèi)置了幾個(gè)用于字符串操作的方法,可以直接在表達(dá)式中使用,大大的簡化了代碼,提供代碼的可讀性。在JSTL的表達(dá)是中要使用一個(gè)函數(shù),其格式如下
????? ${ns:methodName(args....)}
????? 在使用這些函數(shù)之前必須在JSP中引入標(biāo)準(zhǔn)函數(shù)的聲明
????? <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
下面是JSTL中自帶的方法列表以及其描述
?
| 函數(shù)名 | 函數(shù)說明 | 使用舉例 |
| fn:contains | 判斷字符串是否包含另外一個(gè)字符串 | <c:if test="${fn:contains(name, searchString)}"> |
| fn:containsIgnoreCase | 判斷字符串是否包含另外一個(gè)字符串(大小寫無關(guān)) | <c:if test="${fn:containsIgnoreCase(name, searchString)}"> |
| fn:endsWith | 判斷字符串是否以另外字符串結(jié)束 | <c:if test="${fn:endsWith(filename, '.txt')}"> |
| fn:escapeXml | 把一些字符轉(zhuǎn)成XML表示,例如<字符應(yīng)該轉(zhuǎn)為< | ${fn:escapeXml(param:info)} |
| fn:indexOf | 子字符串在母字符串中出現(xiàn)的位置 | ${fn:indexOf(name, '-')} |
| fn:join | 將數(shù)組中的數(shù)據(jù)聯(lián)合成一個(gè)新字符串,并使用指定字符格開 | ${fn:join(array, ';')} |
| fn:length | 獲取字符串的長度,或者數(shù)組的大小 | ${fn:length(shoppingCart.products)} |
| fn:replace | 替換字符串中指定的字符 | ${fn:replace(text, '-','?')} |
| fn:split | 把字符串按照指定字符切分 | ${fn:split(customerNames, ';')} |
| fn:startsWith | 判斷字符串是否以某個(gè)子串開始 | <c:if test="${fn:startsWith(product.id, '100-')}"> |
| fn:substring | 獲取子串 | ${fn:substring(zip, 6, -1)} |
| fn:substringAfter | 獲取從某個(gè)字符所在位置開始的子串 | ${fn:substringAfter(zip, '-')} |
| fn:substringBefore | 獲取從開始到某個(gè)字符所在位置的子串 | ${fn:substringBefore(zip, '-')} |
| fn:toLowerCase | 轉(zhuǎn)為小寫 | ${fn.toLowerCase(product.name)} |
| fn:toUpperCase | 轉(zhuǎn)為大寫字符 | ${fn.UpperCase(product.name)} |
| fn:trim | 去除字符串前后的空格 | ${fn.trim(name)} |
?
| 函數(shù) | 描述 |
| fn:contains(string, substring) | 如果參數(shù)string中包含參數(shù)substring,返回true |
| fn:containsIgnoreCase(string, substring) | 如果參數(shù)string中包含參數(shù)substring(忽略大小寫),返回true |
| fn:endsWith(string, suffix) | 如果參數(shù) string 以參數(shù)suffix結(jié)尾,返回true |
| fn:escapeXml(string) | 將有特殊意義的XML (和HTML)轉(zhuǎn)換為對應(yīng)的XML character entity code,并返回 |
| fn:indexOf(string, substring) | 返回參數(shù)substring在參數(shù)string中第一次出現(xiàn)的位置 |
| fn:join(array, separator) | 將一個(gè)給定的數(shù)組array用給定的間隔符separator串在一起,組成一個(gè)新的字符串并返回。 |
| fn:length(item) | 返回參數(shù)item中包含元素的數(shù)量。參數(shù)Item類型是數(shù)組、collection或者String。如果是String類型,返回值是String中的字符數(shù)。 |
| fn:replace(string, before, after) | 返回一個(gè)String對象。用參數(shù)after字符串替換參數(shù)string中所有出現(xiàn)參數(shù)before字符串的地方,并返回替換后的結(jié)果 |
| fn:split(string, separator) | 返回一個(gè)數(shù)組,以參數(shù)separator 為分割符分割參數(shù)string,分割后的每一部分就是數(shù)組的一個(gè)元素 |
| fn:startsWith(string, prefix) | 如果參數(shù)string以參數(shù)prefix開頭,返回true |
| fn:substring(string, begin, end) | 返回參數(shù)string部分字符串, 從參數(shù)begin開始到參數(shù)end位置,包括end位置的字符 |
| fn:substringAfter(string, substring) | 返回參數(shù)substring在參數(shù)string中后面的那一部分字符串 |
| fn:substringBefore(string, substring) | 返回參數(shù)substring在參數(shù)string中前面的那一部分字符串 |
| fn:toLowerCase(string) | 將參數(shù)string所有的字符變?yōu)樾?#xff0c;并將其返回 |
| fn:toUpperCase(string) | 將參數(shù)string所有的字符變?yōu)榇髮?#xff0c;并將其返回 |
| fn:trim(string) | 去除參數(shù)string 首尾的空格,并將其返回 |
?
<%@ page contentType="text/html;charset=gbk"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> <html> <head> <title>這個(gè)是 JSTL的 測試</title> </head> <body> <c:set var="str" value="stringStRiNg"/> <c:set var="t" value="tr"/> <c:out value="${str} = ${fn:length(str)}"/> <c:out value="${fn:toLowerCase(str)}"/> <c:out value="${fn:toUpperCase(' ')}"/> <c:out value="${fn:toUpperCase('AbCdEfg')}"/><br> <c:out value="${fn:substring('asdfefg',0,3)}"/><br> <c:out value="${fn:substringAfter('asdf','s')}"/><Br> <c:out value="${fn:substringBefore(str,'g')}"/><Br> <c:out value="${fn:trim(' sd dew e ')}"/><Br> <c:out value=" d sd dew e "/><Br> <c:out value="${fn:replace(str,'ing','IN')}"/><Br> </body> </html>?
<c:set var="testStr" value="${analyze.command}" /> <c:choose> <c:when test="${fn:length(testStr) > 100}"> <c:out value="${fn:substring(testStr, 0, 100)}" /> ...... </c:when> <c:otherwise> <c:out value="${testStr}" /> </c:otherwise> </c:choose>轉(zhuǎn)載于:https://www.cnblogs.com/sharpest/p/7727984.html
總結(jié)
- 上一篇: Console-算法[for]-打印出杨
- 下一篇: openstack中手动修改虚拟机IP后