自己定义JSTL标签函数,可以大大简化我们在开发中的工作。我们可以定义自己需要的函数,使用也极其方便。
以下通过显示重要等级来看实现步骤:
首先,要新建一个JAVA类,提供方法: TagFunction.java
package myUtil;
import java.util.ArrayList;
import java.util.List;
// 自定义JSTL函数
public class TagFunction {
// 获取重要等级
public static List getImportantLevel () {
List importantLevel = new ArrayList();
importantLevel .add("全部");
importantLevel .add("重要");
importantLevel .add("一般");
importantLevel .add("低");
return importantLevel ;
}
}
其次,要编写tld标签函数注册文件,将之前写的java 类方法注册到tld:tagfunctions.tld
<?xml version="1.0" encoding="gb2312" ?>
<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>myTag</short-name>
<uri>myTag</uri>
<!-- JSTL自定义函数 获取重要等级 -->
<function>
<name>getImportantLevel</name>
<function-class>myUtil.TagFunction</function-class>
<function-signature>java.util.List getImportantLevel()</function-signature>
</function>
</taglib>
接着还要在web.xml文件中注册刚才创建的tld :
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>myTag</taglib-uri>
15. <taglib-location>/WEB-INF/tagfunctions.tld</taglib-location>
16. </taglib>
17. </jsp-config>
18.
19. </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="myTag " uri="myTag"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>自定义JSTL函数</title>
</head>
<body>
重要等级:
<select name="importantLevel">
<option>--请选择重要等级--</option>
<c:forEach items="${ myTag:getImportantLevel()}" var="t">
<option>${t}</option>
</c:forEach>
</select>
</body>
</html>
最后,只要把例子部署到tomcat测试就可以了,结果正确显示重要等级下拉框。
分享到:
相关推荐
自定义标签和自定义jstl函数的具体项目实现
自定义JSTL标签java项目文件. 使用定制标签库使得JSP程序更加简洁、可读性和可维护性大大的提高了。因此JSP定制标签的优势是非常明显的,它被认为是JSP所有特性中最被看好的特性。
这里是自定义标签,可以很好的实现一定的功能,大家可以参考着自己写一个
NULL 博文链接:https://rubskin.iteye.com/blog/1703808
用jstl实现简单的计算器,可进行加减乘除,求平方,求根
JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL...
自定义JSTL标签,自动读取数据绑定在控件上。
JSTL 开发自定义标签使用的jar jstl.jar standard.jar
jstl 自定义标签 int转换为时间格式
利用自定义jstl标签,实现mybatis分页查询
自己做的一个小例子,实现JSTL自定义标签。功能:输入x和y,点击按钮后循环输出y次x。
这次整理自定义标签主要是项目的需要,要将一些写死的url信息配置于配置文件中,这样发版的时候改动起来相当方便
NULL 博文链接:https://zhouxianglh.iteye.com/blog/858182
springMVC+maven+ztree+自定义jstl标签+sitemesh装饰 http://localhost:8080/mvc/index.jsp 显示ztree index2.jsp sitemesh装饰与自定义jstl标签
自定义jstl写的分页插件
jstl自定义标签和函数思维导图
jh-plugins是一项基于JSTL的自定义标签(插件)库,致力于打造一处实现、任何项目通用的开源项目。 jh-plugins已实现标签库:分页 jh-plugins特点:高效、轻巧、简单、适用(可融合与任何B/S架构的java项目) jh-...
本资源代码中包含jstl的标签库定义以及自定义EL标签使用的详细说明,参见压缩文件中说明即可,欢迎各位技术员下载参考及使用
JavaWeb-12:自定义标签库开发&JSTL标签库