自己定义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功能的一个扩展,允许开发者根据具体需求创建自己的标签,进一步提升项目的定制化程度。本项目包含的"JAVAEE-1-jstl"压缩包文件,很可能是为了解释如何在Java项目中创建和使用自定义JSTL标签。 ...
在Java Web开发中,自定义标签和自定义JSTL(JavaServer Pages Standard Tag Library)函数是提升代码可复用性和可维护性的重要工具。它们允许开发者创建自己的语义化标签,以替代复杂的Java脚本或者JSP标签,使得...
这里是自定义标签,可以很好的实现一定的功能,大家可以参考着自己写一个
NULL 博文链接:https://rubskin.iteye.com/blog/1703808
在开发自定义JSTL标签时,IDE如Eclipse、IntelliJ IDEA提供了很好的支持,它们可以自动生成TLD文件和标签处理类的模板,简化开发流程。 总的来说,自定义JSTL标签是提升JSP应用可扩展性和可维护性的重要手段。通过...
在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)是一个标准的标签库,它提供了一系列的标签用于简化JSP页面的编程。在这个"jstl实现计算器"的项目中,我们主要关注如何利用JSTL的核心库来创建一个...
### 知识点二:自定义JSTL标签 在给定的文件中,我们看到一个自定义的JSTL标签`HelloWorldTag`的实现。这个标签继承自`TagSupport`类,这是一个抽象类,提供了实现JSP标签的基本框架。在`doStartTag()`方法中,我们...
JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL...
在这个场景中,我们重点关注的是JSTL的核心标签库以及如何使用自定义标签。 `jstl.jar`是JSTL的核心库,包含了实现JSTL标准标签功能的类和接口。它提供了控制流标签(如if、choose、when、otherwise)、迭代标签...
**JSTL自定义标签实例解析** JavaServer Pages Standard Tag Library (JSTL) 是一套标准的标签库,用于简化JSP开发。JSTL允许开发者使用预定义的标签来处理常见任务,如迭代、条件判断、XML处理等。本文将深入讲解...
这个库提供了JSTL标签处理的基础设施,比如TagSupport类,它是所有自定义JSTL标签的基类。 **在项目中的使用:** 在项目中使用JSTL和EL时,需要将jstl.jar和standard.jar这两个JAR文件放入WEB-INF/lib目录下。这是...
JSTL自定义标签允许开发者扩展标准标签库的功能,满足特定需求。自定义标签由三部分组成:标签库描述符(TLD),标签处理类(Tag Handler Class)以及标签体(Tag Body)。 1. **标签库描述符(TLD)**:这是一个XML...
这次整理自定义标签主要是项目的需要,要将一些写死的url信息配置于配置文件中,这样发版的时候改动起来相当方便
在MyBatis中,自定义JSTL标签可以让我们在页面上直接调用分页功能,无需在每个Controller中都写分页逻辑。下面我们将分几个步骤来创建这个自定义分页标签: 1. **创建自定义标签库**:首先,我们需要创建一个自定义...
本资源主要讲解了如何在JSTL中定义和使用自定义的EL表达式,这对于提高JSP页面的可读性和可维护性至关重要。 首先,理解JSTL的基础概念。JSTL由几个核心标签库组成,如fmt、fn、sql、xml等,它们提供了处理日期和...
springMVC+maven+ztree+自定义jstl标签+sitemesh装饰 http://localhost:8080/mvc/index.jsp 显示ztree index2.jsp sitemesh装饰与自定义jstl标签
jstl自定义标签和函数思维导图
jh-plugins是一项基于JSTL的自定义标签(插件)库,致力于打造一处实现、任何项目通用的开源项目。 jh-plugins已实现标签库:分页 jh-plugins特点:高效、轻巧、简单、适用(可融合与任何B/S架构的java项目) jh-...
自定义JSTL标签可以帮助我们更方便地处理中文乱码问题,以下是一个简单的步骤: - **编写自定义标签库的XML描述文件(taglib.xml)**,定义标签及其属性。 - **创建JSP标签文件(*.tag)**,实现具体的转换逻辑,...