自定义JSTL标签函数,方便开发使用

xiaoxiao2022-06-12  16

自定义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> 部署例子到tomcat测试: http://localhost:8080/jstl_functions/index.jsp 结果可以显示省份下拉框表示成功... 相关资源:JavaWeb开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)
转载请注明原文地址: https://www.6miu.com/read-4933383.html

最新回复(0)