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