自定義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>   
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章