jstl 的 <fn:> 标签应用(转)
在jsp页面上经常遇到得到集合长度、字符长度、字符切取等应用需,在2.0以前这种需是许多程序员对JSTL及为不满意的地方之一。为此在2.0 中添加了functions标签,其提供对以上需求的支持。 使用方法 引用<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>函数说明:
函数 描述
fn:contains(string, substring) 如果参数string中包含参数substring,返回true
fn:containsIgnoreCase(string, substring) 如果参数string中包含参数substring(忽略大小写),返回true
fn:endsWith(string, suffix) 如果参数 string 以参数suffix结尾,返回true
fn:escapeXml(string) 将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回
fn:indexOf(string, substring) 返回参数substring 在参数string中第一次出现的位置
fn:join(array, separator) 将一个给定的数组array 用给定的间隔符separator串在一起,组成一个新的字符串并返回。
fn:length(item) 返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。
fn:replace(string, before, after) 返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果
fn:split(string, separator) 返回一个数组,以参数 separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素
fn:startsWith(string, prefix) 如果参数string以参数 prefix开头,返回true
fn:substring(string, begin, end) 返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符
fn:substringAfter(string, substring) 返回参数substring 在参数string中后面的那一部分字符串
fn:substringBefore(string, substring) 返回参数substring 在参数string中前面的那一部分字符串
fn:toLowerCase(string) 将参数string所有的字符变为小写,并将其返回
fn:toUpperCase(string) 将参数string所有的字符变为大写,并将其返回
fn:trim(string) 去除参数string 首尾的空格,并将其返回
示例
${fn.substring(string,begin,end)}
来一个我自己测试用的代码
<%@ 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> 这个是 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>
相关推荐
**JSTL(JSP Standard Tag Library)**是Java服务器页面(JSP)的一个标准标记库,它提供了许多预定义的标签,以增强JSP页面...通过理解和熟练使用JSTL的各种标签,可以提升开发效率,同时使代码更符合良好的编程实践。
在使用JSTL时,需要引入对应的JAR文件,例如`jstl.jar`和`standard.jar`,并在JSP页面中通过`<%@ taglib %> `指令导入相应的标签库。例如,导入核心库可以写为: ```jsp <%@ taglib prefix="c" uri=...
- `<fn:length>` 和 `<fn:substring>`:函数标签,提供字符串处理功能。 - `<fn:split>` 和 `<fn:join>`:字符串分割与合并。 - `<x:parse>` 和 `<x:transform>`:处理XML文档。 使用JSTL可以极大地提高JSP页面的...
例如,在JSP页面头部引入`<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>`,就可以使用`c`库的所有标签。 总的来说,JSTL通过`.tld`文件将复杂的Java逻辑封装成易于理解和使用的标签,极大地...
`<x:parse>`标签用于解析XML字符串,`<x:out>`用于显示XML内容,`<x:transform>`进行XSLT转换。下面是一个简单的例子: ```jsp <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> <x:parse xml="${...
- `<fn:escapeXml>` 和 `<fn:replace>`:字符串操作函数,如转义 XML 字符和替换子串。 3. **XML 标签库 (XML Tags)** - `<x:parse>`:解析 XML 文档。 - `<x:out>`:输出 XML 数据。 - `<x:transform>`:使用 ...
- `<c:when>` 和 `<c:otherwise>`:用于`<c:choose>`标签内,实现多条件分支。 - `<c:forEach>`:遍历集合或数组,支持索引、迭代变量等功能。 - `<c:forTokens>`:按照指定分隔符将字符串拆分成多个元素并遍历。...
几乎所有的JSTL标签下载的zip中都只有一个c.tld,然后只讲解<C:>标签怎么用,其实<fmt:> <fn:>标签也非常好用和实用,找了好久才找到fmt.tld这个,现在无私的贡献出来。 另外,附上jstl-1.2.jar,要把这个放到项目的...
<groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>...
这样,就可以在JSP页面中使用如`<c:forEach>`等核心标签了。 使用JSTL不仅可以提高代码的可读性,还可以使JSP页面更加清晰,易于维护。它将复杂的逻辑从视图层移出,遵循了MVC设计模式,提高了代码的分离度,使得...
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> ``` 这里,`prefix`是标签前缀,`uri`是对应的命名空间。 **3. JSTL核心标签** - `<c:set>`:设置变量。 - `<c:out>`:安全地输出变量...
然后就可以在页面中使用JSTL标签,如`<c:out value="${expression}" />`。 **4. ** **JSTL的主要标签** - **控制流标签**:`<c:if>`、`<c:choose>`、`<c:when>`、`<c:otherwise>`、`<c:forTokens>`、`<c:forEach>`...
创建一个简单的JSTL示例页面,可以展示如何使用`<c:out>`和`<c:set>`标签: ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri=...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中的一个重要组成部分,它为JavaServer Pages(JSP)提供了一套标准的标签,使得开发者可以通过使用标签来代替传统的Java脚本,从而使代码...
- **<c:param>**:用于向<c:import>、<c:url>或<c:redirect>传递参数。 ##### XML Processing 标签库 - **<x:parse>**:用于解析XML文件。 ##### Format 标签库 - **<fmt:setLocale>**:用于设置本地化环境。 - ...
5. **函数标签库(Function Tags)**:提供了一系列在EL(Expression Language)表达式中可以调用的函数,如`<fn:contains>`用于检查字符串是否包含子字符串。 **JSTL核心标签库详解** 1. **<c:out>**:这是最基础...
`c`标签库是JSTL中最常用的一部分,它包含了丰富的控制流标签,如迭代(`<c:forEach>`)、条件判断(`<c:if>`和`<c:choose>`)等。这些标签使得JSP页面更加整洁,逻辑更易于理解和管理。 首先,我们需要下载`...
在使用JSTL时,还需要在JSP页面的头部声明JSTL库,通过`<%@ taglib %>`指令完成: ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri=...
在JSP页面中使用JSTL,首先需要在`web.xml`中引入JSTL的依赖,并在JSP页面中通过`<%@ taglib %> `指令声明引用的库: ```xml <!-- web.xml配置 --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> ...