`
huiqinbo
  • 浏览: 335101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自定义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代码 复制代码

 

<%@ 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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics