自定义JSTL函数标签(转)
 自定义JSTL标签函数,方便页面的调用,通过调用函数返回数据进行页面显示。简单、方便,在开发中时常用的到。 
以下通过显示省份来看实现步骤: 
第一步:新建一个类如下: 
UtilFunction.java 
- 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;
 - }
 - }
 
第二步:编写tld标签函数注册文件 
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>
 
第三步:在web.xml文件中注册tld 
- <?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>
 
第四步:编写jsp进行测试 
index.jsp 
- <%@ 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>
 
部署例子到tomcat测试:  http://localhost:8080/jstl_functions/index.jsp 
结果可以显示省份下拉框表示成功.
                    
                
                
            
        
浙公网安备 33010602011771号