`
akunamotata
  • 浏览: 373392 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

自定义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>
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics