以下通過顯示省份來看實現步驟:
第一步:新建一個類如下:
package demo;
import java.util.ArrayList;
import java.util.List;
// 測試
// 自定義JSTL函數
public class UtilFunction {
// 獲取省份
public static List getProvinces() {
List provinces = new ArrayList();
// 暫時添加幾個測試
provinces.add("廣東省");
provinces.add("廣西省");
provinces.add("山東省");
provinces.add("四川省");
provinces.add("江西省");
return provinces;
}
}
myfunctions.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"> <tlib-version>1.0</tlib-version> <short-name>my</short-name> <uri>http://www.changtusoft.cn/test/functions</uri> <!-- JSTL自定義函數 獲取省份 --> <function> <name>getProvinces</name> <function-class>demo.UtilFunction</function-class> <function-signature>java.util.List getProvinces()</function-signature> </function> </taglib>
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 註冊JSTL函數 --> <jsp-config> <taglib> <taglib-uri>http://www.changtusoft.cn/test/functions</taglib-uri> <taglib-location>/WEB-INF/myfunctions.tld</taglib-location> </taglib> </jsp-config> </web-app>
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!-- 導入jstl標籤庫 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- 導入自定義jstl函數 -->
<%@ taglib prefix="my" uri="http://www.changtusoft.cn/test/functions" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>自定義JSTL函數</title>
</head>
<body>
省份:
<select name="provinces">
<option>--請選擇省份--</option>
<c:forEach items="${my:getProvinces()}" var="p">
<option>${p }</option>
</c:forEach>
</select>
</body>
</html>