zoukankan      html  css  js  c++  java
  • 自定义JSTL函数标签(转)

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

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


    第一步:新建一个类如下: 
    UtilFunction.java 

    Java代码  收藏代码
    1. package demo;  
    2.   
    3. import java.util.ArrayList;  
    4. import java.util.List;  
    5.   
    6. // 测试  
    7. // 自定义JSTL函数  
    8. public class UtilFunction {  
    9.     // 获取省份  
    10.     public static List getProvinces() {  
    11.         List provinces = new ArrayList();  
    12.           
    13.         // 暂时添加几个测试  
    14.         provinces.add("广东省");  
    15.         provinces.add("广西省");  
    16.         provinces.add("山东省");  
    17.         provinces.add("四川省");  
    18.         provinces.add("江西省");  
    19.           
    20.         return provinces;     
    21.     }     
    22. }  




    第二步:编写tld标签函数注册文件 
    myfunctions.tld 

    Xml代码  收藏代码
    1. <?xml version="1.0" encoding="UTF-8" ?>  
    2.   
    3. <taglib xmlns="http://java.sun.com/xml/ns/j2ee"  
    4.   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    5.   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"  
    6.   version="2.0">  
    7.       
    8.   <tlib-version>1.0</tlib-version>  
    9.   <short-name>my</short-name>  
    10.   <uri>http://www.changtusoft.cn/test/functions</uri>  
    11.     
    12.   <!-- JSTL自定义函数  获取省份 -->  
    13.   <function>  
    14.     <name>getProvinces</name>  
    15.     <function-class>demo.UtilFunction</function-class>  
    16.     <function-signature>java.util.List getProvinces()</function-signature>  
    17.   </function>  
    18. </taglib>  



    第三步:在web.xml文件中注册tld 

    Xml代码  收藏代码
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app version="2.5"   
    3.     xmlns="http://java.sun.com/xml/ns/javaee"   
    4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
    7.   <welcome-file-list>  
    8.     <welcome-file>index.jsp</welcome-file>  
    9.   </welcome-file-list>  
    10.     
    11.   <!-- 注册JSTL函数 -->  
    12.   <jsp-config>  
    13.     <taglib>  
    14.         <taglib-uri>http://www.changtusoft.cn/test/functions</taglib-uri>  
    15.         <taglib-location>/WEB-INF/myfunctions.tld</taglib-location>  
    16.     </taglib>  
    17.   </jsp-config>  
    18.     
    19. </web-app>  



    第四步:编写jsp进行测试 
    index.jsp 

    Java代码  收藏代码
    1. <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>  
    2. <!-- 导入jstl标签库 -->  
    3. <%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>  
    4. <!-- 导入自定义jstl函数 -->  
    5. <%@ taglib prefix="my" uri="http://www.changtusoft.cn/test/functions" %>  
    6.   
    7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    8. <html>  
    9.   <head>  
    10.     <title>自定义JSTL函数</title>  
    11.   </head>  
    12.     
    13.   <body>  
    14.     省份:  
    15.     <select name="provinces">  
    16.     <option>--请选择省份--</option>  
    17.     <c:forEach items="${my:getProvinces()}" var="p">  
    18.         <option>${p }</option>  
    19.     </c:forEach>  
    20.     </select>  
    21.   </body>  
    22. </html>  




    部署例子到tomcat测试:  http://localhost:8080/jstl_functions/index.jsp 

    结果可以显示省份下拉框表示成功.

  • 相关阅读:
    JavaScript的object和Array引用类型
    JavaScript中JSON的序列化与解析
    JavaScript获取url后面的参数
    JavaScript事件处理程序
    JavaScript手机端页面滑动到底部加载信息(移动端ajax分页)
    666
    jquery的键盘事件
    如何判断是不是微信登录浏览器
    写的挺好 placeholder 的模拟用法
    下雪了还是下冰雹了
  • 原文地址:https://www.cnblogs.com/summer520/p/2964357.html
Copyright © 2011-2022 走看看