自定义jstl标签函数,方便开发

自定义JSTL标签函数,方便页面的调用,通过调用函数返回数据进行页面显示。简单、方便,在开发中时常用的到。

以下通过显示省份来看实现步骤:


第一步:新建一个类如下:
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进行测试
<%@ 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>   
 

你可能感兴趣的:(jstl标签)