這是JSTL標簽所需要的tld文件(c.tld、fmt.tld、fn.tld)下載,JSP的開發(fā)是在HTML代碼中嵌入了大量的Java代碼,但是這樣一來會使得JSP頁面中充滿了Java程序,修改或維護起來非常的不方便,定義一個簡單的標簽----空標簽要想實現(xiàn)一個標簽,可以直接繼承javax.servlet.jsp.tagext.TagSupport類,如果要定義的標簽內(nèi)沒有標簽體,則直接覆寫TagSupport類中的doStartTag()方法即可。
JSTL標簽所需要的tld文件(c.tld、fmt.tld、fn.tld)(JSP Standard Tag Library,JSP標準標簽庫)是一個開放源代碼的標簽組件,由Apache的Jakarta小組開發(fā),可以直接從http://tomcat.apache.org/taglibs/下載 ,下載來的JSTL.是以jar包的形式存在的,直接將此Jar包保存在WEB-INF/lib目錄之中,之后可以直接通過WINRAR工具打開此JAR包,并且將里面的META-INF文件夾中的幾個主要標簽配置文件:c.tld、fmt.tld、fn.tld、sql.tld、x.tld保存在WEB-INF文件夾之中。
JSTL標簽所需要的tld文件,包括 c.tld、fmt.tld、fn.tld 三個 幾乎所有的JSTL標簽下載的zip中都只有一個c.tld,然后只講解<C:>標簽怎么用,其實<fmt:> <fn:>標簽也非常好用和實用,找了好久才找到fmt.tld這個,現(xiàn)在無私的貢獻出來。 另外,附上jstl-1.2.jar,要把這個放到項目的lib中,三個tld文件放到 WEB-INF\tags中 才能運行JSTL表達式哦。
1、c:forTokens
類似于js及java中的split函數(shù),將一個字符串用某個字符分割成數(shù)組,然后逐個處理。items是需要處理的原始字符串,delims是分隔符
<c:forTokens var="item" items="" delims=".">
${item }<br/>
</c:forTokens>
2fmt.tld中比較有用的fmt:parseDate, fmt:formatDate, fmt:parseNumber, fmt:formatNumber,用來格式化時間與數(shù)字,例子如下:
<fmt:formatDate value="${item.createdTime }" pattern="yyyy-MM-dd HH:mm" />
3、fn.tld,jstl的函數(shù),其中有
fn:contains 判斷一個字符串是否含有另外一個字符串,eg <c:if test="${fn:contains(str, searchString)}">;
fn:containsIgnoreCase 同上面的tag,只是不區(qū)分大小寫;
fn:endsWith 判斷一個字符串是否以某個字串結束,eg <c:if test="${fn:endsWith(filename, ".txt")}">
fn:escapeXml 將字符串轉換為沒有xml無法識別字符的字符串,eg ${fn:escapeXml(info)}
fn:indexOf 判斷某個字符在一個字符串中的位置,eg ${fn:indexOf(name, "-")}
fn:join 同jsjoin,將數(shù)組用字符拼接,eg ${fn:join(array, ";")}
fn:length 計算字符串的長度
fn:replace 替換某個字串, eg ${fn:replace(text, "-", "•")}
fn:split join的反過程,eg ${fn:split(customerNames, ";")}
fn:startsWith 是否以某個字串開始, eg <c:if test="${fn:startsWith(product.id, "100-")}">
fn:substring 獲取字串,eg ${fn:substring(zip, 6, -1)}
fn:substringAfter 從某個字串開始取字串,eg ${fn:substringAfter(zip, "-")}
fn:substringBefore 上一條的反過程
fn:toUpperCase 把字符串中的字符全部轉為大寫
fn:trim 去掉字符串兩邊的空格,eg ${fn.trim(name)}