使用方法
使用的方式 一、 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 二、 在WEB-INF目录下创建functions.ltd 然后将上述代码拷进去 <%@ taglib prefix="fn" uri="/WEB-INF/functions.tld" %> 或则 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 区别在于说这样的话即使不联网也可以使用
函数说明
fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}">
fn:containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关) <c:if test="${fn:containsIgnoreCase(name, searchString)}">
fn:endsWith 判断字符串是否以另外字符串结束 <c:if test="${fn:endsWith(filename, ".txt")}">
fn:escapeXml 把一些字符转成XML表示,例如<字符应该转为< ${fn:escapeXml(param:info)}
fn:indexOf 子字符串在母字符串中出现的位置 ${fn:indexOf(name, "-")}
fn:join 将数组中的数据联合成一个新字符串,并使用指定字符格开 ${fn:join(array, ";")}
fn:length 获取字符串的长度,或者数组的大小 ${fn:length(shoppingCart.products)}
fn:replace 替换字符串中指定的字符 ${fn:replace(text, "-", "•")}
fn:split 把字符串按照指定字符切分 ${fn:split(customerNames, ";")}
fn:startsWith 判断字符串是否以某个子串开始 <c:if test="${fn:startsWith(product.id, "100-")}">
fn:substring 获取子串 ${fn:substring(zip, 6, -1)}
fn:substringAfter 获取从某个字符所在位置开始的子串 ${fn:substringAfter(zip, "-")}
fn:substringBefore 获取从开始到某个字符所在位置的子串 ${fn:substringBefore(zip, "-")}
fn:toLowerCase 转为小写 ${fn.toLowerCase(product.name)}
fn:toUpperCase 转为大写字符 ${fn.UpperCase(product.name)}
fn:trim 去除字符串前后的空格 ${fn.trim(name)}
实例:
<%@page import="java.sql.Timestamp"%>
<%@page import="org.newboy.entity.User"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<%
//假设这些代码不在页面上
List<User> users = new ArrayList<User>();
for (int i=0; i < 10; i++) {
users.add(new User(i,"用户" + i,"12345"));
}
request.setAttribute("users",users);
request.setAttribute("now", new Timestamp(System.currentTimeMillis()));
%>
</head>
<body>
<c:forEach items="${users}" var="u">
${u.id} ${u.name} ${u.password}
<hr>
</c:forEach>
共有人数: ${fn:length(users)}<br>
<c:set var="content" value="<font size='7' color='red'>我们是害虫</font>"/>
${content} <br>
${fn:escapeXml(content)}
<br>
${now}<br>
${fn:substring(now,0,16)}
</body>
</html>