第一步:导入要用的两个包:jstl.jar / standard.jar
第二步:写一个java类。(用来计算数组的长度)
package com.zt;
public class Utils {
public static int arrayLength(Object[] obj){
return obj==null?0:obj.length;
}
}
第三步:在WEB-INF文件夹中新建一个.tld文件,在.tld文件中,描述函数。
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 functions library</description>
<display-name>JSTL functions</display-name>
<tlib-version>1.1</tlib-version>
<short-name>zt</short-name>
<uri>http://net.zt.com/functions</uri>
<function>
<description><!-- 对函数的描述 -->
...
</description>
<name>arrayLength</name><!-- 函数名 -->
<function-class>com.zt.Utils</function-class><!-- 方法的引用 -->
<function-signature>int arrayLength(java.lang.Object[])</function-signature><!-- 具体函数(要注意返回值类型、函数名、参数类型) -->
<example><!-- 对该函数的举例 -->
...
</example>
</function>
</taglib>
第四步:在jsp页面中,使用taglib命令引入.tld文件。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*,com.zt.User"%>
<!-- 导入包 -->
<%@ taglib uri="http://net.zt.com/functions" prefix="zt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<%
//创建一个数组
String[] strs = {"1","2","3","4"};
request.setAttribute("strs", strs);
%>
<body>
<!-- 调用自己写的函数使用EL表达式 -->
${zt:arrayLength(strs)}
</body>
</html>