TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
自定义JSTL标签函数,方便页面的调用,通过调用函数返回数据进行页面显示。简单、方便,在开发中时常用的到。
以下通过显示省份来看实现步骤:
第一步:新建一个类如下:
UtilFunction.java
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代码
<?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代码
<?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
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>
[/code]
部署例子到tomcat测试: http://localhost:8080/jstl_functions/index.jsp
结果可以显示省份下拉框表示成功...
源码下载:http://file.javaxxz.com/2014/10/28/235600234.zip |
|