这是JSTL标签所需要的tld文件(jiàn)(c.tld、fmt.tld、fn.tld)下载,JSP的(de)开发是在HTML代(dài)码中嵌入(rù)了大量的Java代码,但是(shì)这(zhè)样一来会使得JSP页面中充满了Java程序,修改或维护起来非常的不方便,定义一(yī)个简(jiǎn)单的标签----空标(biāo)签(qiān)要(yào)想实现一个标(biāo)签,可以直接继承javax.servlet.jsp.tagext.TagSupport类,如(rú)果要定义的标签(qiān)内没(méi)有标(biāo)签体,则直接(jiē)覆写(xiě)TagSupport类中(zhōng)的doStartTag()方法(fǎ)即可(kě)。
JSTL标(biāo)签(qiān)所需(xū)要的(de)tld文(wén)件(c.tld、fmt.tld、fn.tld)(JSP Standard Tag Library,JSP标准(zhǔn)标签库)是(shì)一个开放(fàng)源代码的标签(qiān)组件,由Apache的Jakarta小组开发(fā),可(kě)以直接从(cóng)http://tomcat.apache.org/taglibs/下载(zǎi) ,下载来的JSTL.是以jar包的形式存在(zài)的,直接将此(cǐ)Jar包保存在WEB-INF/lib目录之中,之后可(kě)以直接通过WINRAR工具打开此JAR包,并且将里面的META-INF文件夹中的几个主要标签(qiān)配置文件:c.tld、fmt.tld、fn.tld、sql.tld、x.tld保存在(zài)WEB-INF文件夹之(zhī)中。
JSTL标签所需要的tld文件(jiàn),包括 c.tld、fmt.tld、fn.tld 三个 几乎所有的JSTL标签下载(zǎi)的zip中都只有(yǒu)一个c.tld,然(rán)后只讲解<C:>标签怎么(me)用,其实<fmt:> <fn:>标签也(yě)非常好(hǎo)用和实(shí)用,找了好久才找到fmt.tld这个,现在无私(sī)的(de)贡献(xiàn)出来(lái)。 另外(wài),附(fù)上jstl-1.2.jar,要把(bǎ)这个放到项目的lib中(zhōng),三个tld文(wén)件放到 WEB-INF\tags中 才能运(yùn)行(háng)JSTL表达式(shì)哦。
1、c:forTokens
类似于js及java中的split函数(shù),将一个(gè)字符串用某个字(zì)符分(fèn)割(gē)成数组,然(rán)后逐个处理。items是需要处(chù)理的原始字符串,delims是分隔符
<c:forTokens var="item" items="" delims=".">
${item }<br/>
</c:forTokens>
2fmt.tld中比(bǐ)较有(yǒu)用的fmt:parseDate, fmt:formatDate, fmt:parseNumber, fmt:formatNumber,用来格式化时间与数字,例子如(rú)下:
<fmt:formatDate value="${item.createdTime }" pattern="yyyy-MM-dd HH:mm" />
3、fn.tld,jstl的(de)函数,其中(zhōng)有
fn:contains 判断一个字符串是否含(hán)有另(lìng)外一个(gè)字符串,eg <c:if test="${fn:contains(str, searchString)}">;
fn:containsIgnoreCase 同上面的(de)tag,只是不区分大(dà)小写;
fn:endsWith 判断一(yī)个字符串是否以某个字(zì)串结束,eg <c:if test="${fn:endsWith(filename, ".txt")}">
fn:escapeXml 将字符串转换为没有xml无法识别字符(fú)的字符串,eg ${fn:escapeXml(info)}
fn:indexOf 判断某个字符在(zài)一(yī)个字符串(chuàn)中的(de)位置,eg ${fn:indexOf(name, "-")}
fn:join 同jsjoin,将数组(zǔ)用字符拼接,eg ${fn:join(array, ";")}
fn:length 计算字符(fú)串的长(zhǎng)度
fn:replace 替换某个字串, eg ${fn:replace(text, "-", "•")}
fn:split join的反(fǎn)过程,eg ${fn:split(customerNames, ";")}
fn:startsWith 是否以某个字(zì)串开(kāi)始, eg <c:if test="${fn:startsWith(product.id, "100-")}">
fn:substring 获取字串,eg ${fn:substring(zip, 6, -1)}
fn:substringAfter 从某个字串(chuàn)开始取字(zì)串,eg ${fn:substringAfter(zip, "-")}
fn:substringBefore 上一条(tiáo)的反(fǎn)过(guò)程
fn:toUpperCase 把字符串中的字符(fú)全部转为大(dà)写
fn:trim 去掉字(zì)符串两边的空格,eg ${fn.trim(name)}
